Dienstag, 17. Januar 2012
Tabelle als XML Parameter in die gespeicherte Prozedur
it-entwickler, 00:50h
Als Beispel nehmen wir die Tabelle mit Postleitzahlen.
Die Tabelle muss dann in XML umgewandelt werden, z.B.:
'
Die Prozedere bekommt XML als Parameter und speichert in eine Tabelle.
CREATE PROCEDURE [dbo].[GetCountOfInterestingByZip]
@xml XML -- for testen = null -- incoming Data
AS
-- for testing
DECLARE @xml XML
SET @xml = '
*/
-- import Data from XML object in the temporary table
DECLARE @idoc INT
EXEC sp_xml_preparedocument @idoc OUT, @xml
print CAST(@idoc as varchar(10))
DECLARE @inputData TABLE (Zip varchar(10))
INSERT @inputData
SELECT code FROM OPENXML(@idoc, '/Zips/Zip') WITH ([code] VARCHAR(10) 'code' )
EXEC sp_xml_removedocument @idoc
Weiter benutzen @inputData Tabelle
Die Tabelle muss dann in XML umgewandelt werden, z.B.:
'
33333
44444
'Die Prozedere bekommt XML als Parameter und speichert in eine Tabelle.
CREATE PROCEDURE [dbo].[GetCountOfInterestingByZip]
@xml XML -- for testen = null -- incoming Data
AS
-- for testing
DECLARE @xml XML
SET @xml = '
33333
44444
'*/
-- import Data from XML object in the temporary table
DECLARE @idoc INT
EXEC sp_xml_preparedocument @idoc OUT, @xml
print CAST(@idoc as varchar(10))
DECLARE @inputData TABLE (Zip varchar(10))
INSERT @inputData
SELECT code FROM OPENXML(@idoc, '/Zips/Zip') WITH ([code] VARCHAR(10) 'code' )
EXEC sp_xml_removedocument @idoc
Weiter benutzen @inputData Tabelle