Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie übergibt man XML von C# an eine gespeicherte Prozedur in SQL Server 2008?

Für Teil 2 Ihrer Frage siehe meine Antwort auf Gespeicherte Prozedur:Übergeben Sie XML als Argument und INSERT (Schlüssel/Wert-Paare) für ein Beispiel zur Verwendung von XML in einer gespeicherten Prozedur.

BEARBEITEN :Der unten stehende Beispielcode basiert auf dem in den Kommentaren angegebenen spezifischen Beispiel.

declare @MyXML xml

set @MyXML = '<booksdetail> 
                  <isbn_13>700001048</isbn_13> 
                  <isbn_10>01048B</isbn_10> 
                  <Image_URL>http://www.landt.com/Books/large/00/70100048.jpg</Image_URL> 
                  <title>QUICK AND FLUPKE</title> 
                  <Description> PRANKS AND JOKES QUICK AND FLUPKE - CATASTROPHE QUICK AND FLUPKE </Description> 
              </booksdetail>'

select Book.detail.value('(isbn_13/text())[1]','varchar(100)') as isbn_13, 
       Book.detail.value('(isbn_10/text())[1]','varchar(100)') as isbn_10, 
       Book.detail.value('(Image_URL/text())[1]','varchar(100)') as Image_URL, 
       Book.detail.value('(title/text())[1]','varchar(100)') as title, 
       Book.detail.value('(Description/text())[1]','varchar(100)') as Description
    from @MyXML.nodes('/booksdetail') as Book(detail)