跨库触发器表同步时update出错,其他正常,大家来诊断
有数据库A,表user ,字段username,password,其它字段
数据库B,表user,字段username,userpass,其它字段
要求任一表user 插入、更改后,另一表同步修改
在库A表user中写触发器:
CREATE trigger [数据库A.tr_user] on [user]
for update,insert,delete
as
alter table 数据库B..[user] DISABLE TRIGGER [数据库B.tr_user]
-----------------------------------
if not exists (select * from deleted) --插入
insert 数据库B..[user](username,userpass,landtime) select username,password,lastlogin from inserted
else if not exists (select * from inserted)--删除
delete 数据库B..[user] where id in (select userid from deleted)
else--更新
update [user]
set
[user].username=数据库B..[user].username,
[user].userpass=数据库B..[user].password
from 数据库B..[user] as [user],inserted as 数据库B..[user] where [user].id=数据库B..[user].userid
alter table 数据库B..[user] ENABLE TRIGGER [数据库B.tr_user]
操作时提示:from 数据库B..[user] as [user],inserted as 数据库B..[user] where [user].id=数据库B.. 这行
'.'附近有语法错误