sql >> Databasteknik >  >> RDS >> Sqlserver

Frågar en xml i sql server 2008

Ditt exempel på xml har ingen Pages nod. Detta betyder att när FROM klausulen beräknas, bildas en korskoppling mellan en lista med nollrader och en lista med en rad. Den resulterande produkten har inga rader, så det finns inget SELECT ed, så ingenting är INSERT red.

Om du verkligen vill infoga en rad i BookDetails för varje booksdetail nod i den inkommande xml, bör du göra något liknande

SELECT 
    ParamValues.PL.value('Pages[1]','int'),
    CAST(ParamValues.PLr.value('Description[1]','varchar(max)') AS text)
FROM 
    @xml.nodes('/booksdetail') as ParamValues(PL)

Det vill säga strimla den inkommande xml-filen till booksdetail noder och dra ut var och en av .value s du vill ha från dessa rader.




  1. Oracle Database Link - MySQL-ekvivalent?

  2. cx_Oracle:Hur itererar jag över en resultatuppsättning?

  3. Självhanterande PostgreSQL-partitionstabeller

  4. Hitta meningar med två ord bredvid varandra i sid