将XML文件数据插入现有表

时间:2018-11-25 01:47:31

标签: sql-server xml

我正在尝试将XML文件的内容插入现有表中。到目前为止,我只有以下内容:

for

但是我收到一个错误消息:“ INSERT语句中的列数比VALUES子句中指定的值多。VALUES子句中的值数必须与INSERT语句中指定的列数匹配。”

完全卡在这里有什么可以帮助的,谢谢!

1 个答案:

答案 0 :(得分:2)

XML不会自行解析。

示例

INSERT INTO Customers (EmailAddress, Password, FirstName, LastName)
Select EMailAddress = x.v.value('@EmailAddress','VARCHAR(150)')
      ,Password     = x.v.value('@Password','VARCHAR(150)')
      ,FirstName    = x.v.value('@FirstName','VARCHAR(150)')
      ,LastName     = x.v.value('@LastName','VARCHAR(150)')
 From  @NewCustomers.nodes('NewCustomers/Customer') x(v)

Select将产生以下内容

EMailAddress                    Password    FirstName   LastName
izzychan@yahoo.com                          Isabella    Chan
johnprine@gmail.com                         John        Prine
kathykitchen@sbcglobal.net                  Kathy       Kitchen