sql 触发器在对一个进行update操作的时候需要与判断另一个表里是否有相同记录
例如a表里面有内容一0二1b表内容一0三2在对a表进行update操作的时候要判断b表内是否有相同的内容,只有在有相同内容的时候才允许进行操作。...
例如a表里面有内容
一 0
二 1
b表内容
一 0
三 2
在对a表进行update操作的时候要判断b表内是否有相同的内容,只有在有相同内容的时候才允许进行操作。 展开
一 0
二 1
b表内容
一 0
三 2
在对a表进行update操作的时候要判断b表内是否有相同的内容,只有在有相同内容的时候才允许进行操作。 展开
2个回答
展开全部
触发器可以参考下面的,不过我感觉可以创建一个外键更好
create trigger tr_test_id
on test
after update
as
if not exists (select 1 from t1,inserted
where t1.name=inserted.name and t1.id=inserted.id)
begin
print '不允许修改!'
rollback transaction
end
create trigger tr_test_id
on test
after update
as
if not exists (select 1 from t1,inserted
where t1.name=inserted.name and t1.id=inserted.id)
begin
print '不允许修改!'
rollback transaction
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种方法:
一、
update tablea set fieldb=3 where exists(select * from tableb where tablea.fielda=tableb.fielda and tableb.fieldb=tablea.fieldb)
二、
UPDATE TABLEA SET FIELDB=3 FROM TABLEA,TABLEB WHERE TABLEA.FIELDA=TBLEB.FIELDA AND TABLEB.FIELDB=TABLEA.FIELDB
一、
update tablea set fieldb=3 where exists(select * from tableb where tablea.fielda=tableb.fielda and tableb.fieldb=tablea.fieldb)
二、
UPDATE TABLEA SET FIELDB=3 FROM TABLEA,TABLEB WHERE TABLEA.FIELDA=TBLEB.FIELDA AND TABLEB.FIELDB=TABLEA.FIELDB
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询