Nel caso si devono gestire dei dati in formato xml la Store Procedure sp_xml_preparedocument ci può tornare utile. L'esempio qui di seguito, illustra l'utilizzo di tale SP, per inserire dei dati in una determinata tabella, con un campo di tipo xml.
Supponiamo di avere una tabella, chiamata TBL_XML, con dei campi Nome e cognome di tipo varchar, code di tipo int data di tipo datetime e codexml di tipo xml, e vogliamo inserire in tale tabella i dati di un file xml, formattato con tali campi. Lo script qui di seguito illustra come inserire i dati contenuti nel file xml in tale tabella. Utilizzando in un primo momento la sp sp_xml_preparedocument e poi tramite openxml, gestire i vari dati.
DECLARE @xmlDoc NVARCHAR(300)
DECLARE @handle INTSET @xmlDoc = N'<ROOT> <TBL_xml><Nome>emanuele</Nome>
<cognome>ma</cognome>
<data>12/10/2009</data>
<code>1</code>
<Codexml><pippo>prova</pippo></Codexml>
</TBL_xml>
</ROOT>'
EXEC sp_xml_preparedocument @handle OUTPUT, @xmlDoc
insert TBL_xml
SELECT * FROM OPENXML (@handle, '/ROOT/TBL_xml', 2) WITH
(Nome VARCHAR(50), cognome VARCHAR(50), data datetime, code int, Codexml xml)
EXEC sp_xml_removedocument @handle
select * from TBL_xml
Nessun commento:
Posta un commento