sql >> Database teknologi >  >> RDS >> Sqlserver

Forespørgsel til en xml i sql server 2008

Din eksempel-xml har ikke en Pages node. Det betyder, at når FROM klausul beregnes, dannes der en krydsforbindelse mellem en liste med nul rækker og en liste med én række. Det resulterende produkt har ingen rækker, så der er intet SELECT ed, så intet er INSERT red.

Hvis du rent faktisk ønsker at indsætte en række i BookDetails for hver booksdetail node i den indgående xml, bør du gøre noget lignende

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 vil sige, makulere den indgående xml til booksdetail noder, og træk hver af .value ud s du ønsker fra disse rækker.




  1. Tjek de seneste nyheder om Microsoft Access, inklusive Access 2022!

  2. PostgreSQL, Byt data fra en bestemt kolonne i to rækker

  3. Skal jeg gemme prisen som decimal eller heltal i Mysql?

  4. PHP Pass bruger-id til mysql trigger