兩數據庫在同一sql server 上
不同數據庫A,,B,分別有表a,b,兩表結構相同,現在數據庫A建立了修改的觸發器,如果a做了修改,a,b同樣存在的數據,那麼a修改了,b同時也修改,如果a修改的數據,b不存在的,那麼要求a數據同樣修改成功,而觸發不起作用,該如何實現這樣的觸發?我在觸發器加條件語句也不起作用如IF ...else ....我現在隻實現了a,b表同時存在的數據修改的觸發,如果a有的數據被修改了,而b表不存在此數據,希望觸發器不起作用。請高手告訴一下,我將感激不盡!
create trigger synu_iebo00h on sa.iebo00h
for update
as
begin tran
if exists (select b.bo_no ,b.bo_ver from b,inserted i where i.bo_no=b.bo_no and b.bo_ver=i.bo_ver)
update b set aa=....
。。
commit tran以上隻實現了,a,b相同的數據
而a,b數據不等該如何修改我的觸發器呢?
不同數據庫A,,B,分別有表a,b,兩表結構相同,現在數據庫A建立了修改的觸發器,如果a做了修改,a,b同樣存在的數據,那麼a修改了,b同時也修改,如果a修改的數據,b不存在的,那麼要求a數據同樣修改成功,而觸發不起作用,該如何實現這樣的觸發?我在觸發器加條件語句也不起作用如IF ...else ....我現在隻實現了a,b表同時存在的數據修改的觸發,如果a有的數據被修改了,而b表不存在此數據,希望觸發器不起作用。請高手告訴一下,我將感激不盡!
create trigger synu_iebo00h on sa.iebo00h
for update
as
begin tran
if exists (select b.bo_no ,b.bo_ver from b,inserted i where i.bo_no=b.bo_no and b.bo_ver=i.bo_ver)
update b set aa=....
。。
commit tran以上隻實現了,a,b相同的數據
而a,b數據不等該如何修改我的觸發器呢?
after update--定义after类型的触发器
from insert as a,B..b as b
where a.关联字段=b.关联字段
from insert as a,B..b as b
where a.关联字段=b.关联字段insert应为inserted
if exists (select b.bo_no ,b.bo_ver from B..b b,inserted i where i.bo_no=b.bo_no and b.bo_ver=i.bo_ver) 這句,因為寫得急,所以少了B..b 。但是這樣寫還是沒有達到我要的結果,exists,就執update,not exists,update 返回@rowacount=0,但a就不能更新成功。
你說的內連接是啥意思?我不明白哦,自己超級笨笨了。
還有roy_88說要定義為after類的觸發器,這跟不加有after有什麼區別呢?還有instead of 類的也不太明白在什麼情況下用。