Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn xml trong sql server 2008

Xml mẫu của bạn không có Pages nút. Điều này có nghĩa là khi FROM mệnh đề được tính toán, một phép nối chéo được hình thành giữa danh sách không có hàng và danh sách có một hàng. Sản phẩm kết quả không có hàng, vì vậy không có gì SELECT ed, vì vậy không có gì là INSERT ed.

Nếu bạn thực sự muốn chèn một hàng vào BookDetails cho mỗi booksdetail trong xml đến, bạn nên làm điều gì đó giống như

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

Đó là, cắt xml đến thành booksdetail và kéo ra từng .value bạn muốn từ những hàng này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sys.dm_exec_describe_first_result_set_for_object hoạt động trong SQL Server

  2. Làm cách nào để trả về nhiều tập kết quả với SqlCommand?

  3. Không thể kết nối với máy chủ báo cáo 2008 r2

  4. Làm cách nào để tôi có thể bỏ qua cơ sở dữ liệu hệ thống và cho phép công việc tác nhân SQL Server 2008 di chuyển qua ERROR_NUMBER 208?

  5. Tại sao tôi không thể sử dụng bí danh cho một tổng thể trong mệnh đề có?