sql 触发器在对一个进行update操作的时候需要与判断另一个表里是否有相同记录

例如a表里面有内容一0二1b表内容一0三2在对a表进行update操作的时候要判断b表内是否有相同的内容,只有在有相同内容的时候才允许进行操作。... 例如a表里面有内容
一 0
二 1
b表内容
一 0
三 2
在对a表进行update操作的时候要判断b表内是否有相同的内容,只有在有相同内容的时候才允许进行操作。
展开
 我来答
c6iz
2013-04-18 · TA获得超过1417个赞
知道大有可为答主
回答量:1426
采纳率:100%
帮助的人:1044万
展开全部
触发器可以参考下面的,不过我感觉可以创建一个外键更好
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WHITE_WIN
2013-04-18 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1918万
展开全部
两种方法:
一、
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式