同一数据库sjk中有aa表和bb表,bb包含aa的所有列,xh列为主键,要求:
修改aa中某条记录的某些列如lie1、lie2时如果bb中有该条记录则更新相应列并在bb中的bz列注明(up),否则插入该条记录并在bb中的bz列注明(in)。
修改aa中某条记录的某些列如lie1、lie2时如果bb中有该条记录则更新相应列并在bb中的bz列注明(up),否则插入该条记录并在bb中的bz列注明(in)。
调试欢乐多
on aa
for insert
as
begin
update b set b.lie1=i.lie1,b.lie2=i.lie2 ,b.bz='up'
from bb b,inserted i where b.xh=i.xh insert b (lie1,lie2,bz)select lie1,lie2,'in'
from inserted
where not exists( select 1 from bb where xh=i.xh)
end
create trigger tru_aa
on aa
for insert,update
as
begin
update b set b.lie1=i.lie1,b.lie2=i.lie2 ,b.bz='up'
from bb b,inserted i where b.xh=i.xh insert b (lie1,lie2,bz)select lie1,lie2,'in'
from inserted
where not exists( select 1 from bb where xh=i.xh)
end
消息 4104,级别 16,状态 1,过程 tru_aa,第 7 行
无法绑定由多个部分组成的标识符 "i.xh"。怎么办?
用的是sql2005