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

Cách chèn dữ liệu xml vào bảng trong SQL Server 2005

Giả sử mẫu XML như trên:

<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Emp>
        <ID>3</ID>
        <EmpName>Dibyendu</EmpName>
        <Sal>3500</Sal>
    </Emp>
</Record>

Giả sử bảng sau:

CREATE TABLE Employee
(
    [ID] [int] NOT NULL,  
    [EmpName] varchar(max) NOT NULL,   
    [Sal] [int] NULL
)

Thủ tục được lưu trữ sau, sử dụng xpath, sẽ thực hiện thủ thuật

CREATE PROCEDURE AddEmployee
    @empXml xml
AS

INSERT INTO Employee
(
    ID,
    EmpName,
    Sal
)
VALUES
(
    @empXml.value('(/Record/Emp/ID)[1]', 'int'),
    @empXml.value('(/Record/Emp/EmpName)[1]', 'varchar(max)'),
    @empXml.value('(/Record/Emp/Sal)[1]', 'int')
)

Sau đó, bạn có thể thực thi với:

exec AddEmployee '<Record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Emp><ID>3</ID><EmpName>Dibyendu</EmpName><Sal>3500</Sal></Emp></Record>' 

Bạn sẽ cần phải tái cấu trúc lại một chút nếu Record XML có khả năng bao gồm nhiều phần tử 'Emp'.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để khắc phục Trạng thái đang chờ phục hồi trong Cơ sở dữ liệu SQL Server?

  2. Tìm giá trị khác 0 trước đó từ danh sách theo thứ tự ngày

  3. Khôi phục cơ sở dữ liệu máy chủ SQL (T-SQL)

  4. 4 kiểu dữ liệu sẽ không được chấp nhận trong SQL Server

  5. Cách tạo trình kích hoạt để theo dõi dữ liệu được thay đổi lần cuối