openxml实现数据更新

1、通过XML完成数据表数据的更新

CREATE TABLE Employee(eid int, fname varchar(20), lname varchar(20))

INSERT INTO Employee VALUES (1, 'Nancy', 'Davolio')
INSERT INTO Employee VALUES (2, 'Andrew', 'Fuller')

DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT,
'<root>
 <employee eid="1" lname="dfsd" fname="sdfsd" />
</root>'
UPDATE employee
SET     
      employee.fname = XMLEmployee.fname,    
      employee.lname = XMLEmployee.lname     
FROM OPENXML(@hDoc, '/root/employee')  
             WITH employee XMLEmployee   
WHERE  employee.eid = XMLEmployee.eid   
SELECT   *  from  employee

2、在Northwind数据库的Employees表中实现同样的功能,总是提示“列EmployeeID不存在”。经查证,该列设置了IDENTITY属性,所以提示出错,做以下修改可以完成目的。

declare @handle int
exec sp_xml_preparedocument @handle output,
'<root>
<Employees EmployeeID="2" LastName="xx"/>
</root>'
update Employees
set
Employees.lastname=xmldate.LastName
from openxml(@handle,'/root/Employees')
with (EmployeeID int,LastName char)xmldate
where Employees.EmployeeID=xmldate.EmployeeID

没有解决EmployeeID字段设置的问题,该字段在这段SQL中是否能添加IDENTITY属性,格式应该是怎样???

<script language="JavaScript" type="text/javascript"> function SendLinkByEMail(url, name) { var action = "SendLink("; action = action + "TITLE="; action = action + name; action = action + "&URL="; action = action + url; action = action + ")"; parent.window.external.HandleAction(action); } </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值