(MS SQL SERVER)我用了一个触发器,在数据库提供的客户端中更改数据没有任何问题,但我在程序中做修改后保存有时出问题,如果对应的子表记录超过1条的就出错。请问
各位高手如何解决?
ALTER trigger updatecvccol
on cvcol for update
as
declare @olditemcode varchar(30),
@oldvendor varchar(10),
@oldcol varchar(30),
@oldcustcode varchar(10),
@newitemcode varchar(30),
@newvendor varchar(10)
if update(vend_code) or update(item_code)
begin
select @olditemcode=d.item_code,@oldvendor=d.vend_code,@oldcol=d.col_code,@oldcustcode=d.cust_code from deleted as d
select @newitemcode=i.item_code,@newvendor=i.vend_code from inserted as i
update cvccol set item_code=@newitemcode ,vend_code=@newvendor
where cust_code=@oldcustcode and item_code=@olditemcode and col_code=@oldcol and vend_code=@oldvendor
end
各位高手如何解决?
ALTER trigger updatecvccol
on cvcol for update
as
declare @olditemcode varchar(30),
@oldvendor varchar(10),
@oldcol varchar(30),
@oldcustcode varchar(10),
@newitemcode varchar(30),
@newvendor varchar(10)
if update(vend_code) or update(item_code)
begin
select @olditemcode=d.item_code,@oldvendor=d.vend_code,@oldcol=d.col_code,@oldcustcode=d.cust_code from deleted as d
select @newitemcode=i.item_code,@newvendor=i.vend_code from inserted as i
update cvccol set item_code=@newitemcode ,vend_code=@newvendor
where cust_code=@oldcustcode and item_code=@olditemcode and col_code=@oldcol and vend_code=@oldvendor
end
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货