Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
895
Assunto : SQL Server
Titulo: Passando multiplos registros como parâmetro para procedure

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Na dica em http://www.bufaloinfo.com.br/dicas.asp?cod=306 foi mostrado com realizar esse truque utilizando dados em XML e a instrução OpenXML.

Porém, a partir do SQL Server 2005 ficou bem mais simples de realizar esta tarefa com os recursos específicos de manipulação de XML existentes no SQL Server.

Veja um exemplo :


declare @xml xml
select @xml='<clientes>
<cliente><customerid>ALFKI</customerid></cliente>
<cliente><customerid>ANATR</customerid></cliente>
<cliente><customerid>ANTON</customerid></cliente>
</clientes>'


SELECT
clientes.cliente.value('customerid[1]','nvarchar(30)')
As Customerid
FROM
@xml.nodes('/clientes/cliente') clientes(cliente)

O método nodes na variável do tipo XML nos permite acessar os elementos do XML como sendo uma tabela. No caso o nome da tabela, para esta query, fica sendo "clientes" e o campo XML retornado pelo nodes fica sendo "cliente". Então cada cliente se torna um registro

Na lista de campos, temos o campo cliente, xml, sobre o qual podemos utilizar o método value para extrairmos a informação que desejamos, sabendo que neste ponto já estamos lidando com apenas um cliente, que foi separado pelo método nodes. Na XQuery ainda precisamos indexar o elemento que desejamos, mas nesse caso o indice será sempre [1]

Desta forma podemos passar um XML para nossa stored procedure e a procedure poderá retirar do XML os dados de que necessita.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br