【发布时间】:2017-06-03 05:52:46
【问题描述】:
我正在尝试使用 XML 文件更新客户表,但它没有将 XML 中的值提取到变量中以传递到表中。我得到的错误是“无法将值 NULL 插入到列 'EmailAddress' 中”,即使 EmailAddress 显然有一个值。我觉得我错过了一些非常简单的东西,但无法弄清楚。有什么想法吗?
USE MyGuitarShop
DECLARE @CustomerUpdate XML
SET @CustomerUpdate =
'<NewCustomers>
<Customer EmailAddress="izzychan@yahoo.com" Password="" FirstName="Isabella" LastName="Chan" />
<Customer EmailAddress="johnprine@gmail.com" Password="" FirstName="John" LastName="Prine" />
<Customer EmailAddress="kathykitchen@sbcglobal.net" Password="" FirstName="Kathy" LastName="Kitchen" />
</NewCustomers>';
INSERT Customers (EmailAddress, Password, FirstName, LastName)
VALUES
(
@CustomerUpdate.value('(/NewCustomers/Customer/EmailAddress)[1]', 'varchar(255)'),
@CustomerUpdate.value('(/NewCustomers/Customer/Password)[1]', 'varchar(60)'),
@CustomerUpdate.value('(/NewCustomers/Customer/FirstName)[1]', 'varchar(60)'),
@CustomerUpdate.value('(/NewCustomers/Customer/LastName)[1]', 'varchar(60)')
);
SELECT * FROM Customers
【问题讨论】:
标签: sql sql-server xml tsql xpath