想写个SQL触发器,同时插入两张,当一个表不符合条件时两张表都不让插入

例如,表A(id1,id2,a,b,c)和表B(id1,id2,id3,d,e,f),同时向表A和表B插入数据:向表A插入的数据为(a,b,s,f,g)向表B插入的是多条... 例如,表A(id1,id2,a,b,c)和表B(id1,id2,id3,d,e,f),同时向表A和表B插入数据:

向表A插入的数据为(a,b,s,f,g)
向表B插入的是多条数据(a,b,aa,1,2,3),(a,b,bb,2,3,4),(a,b,cc,5,6,7),(a,b,dd,-1,6,7)…………
当向表B插入的数据中有一条数据里第四个数据小于0时,所有数据都不插入。
最好有完整的语句,我对这方面不太熟悉
展开
 我来答
李英珏
2013-12-06 · TA获得超过193个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:187万
展开全部
主要问题是 当的你第三个数据不满足条件的时候,你前面一插入的数据都没有commit 而是 rollback了
所以就会出现以上情况。

第一种方法 你先判断数插入的数据属否满足条件,然后插入,保证插入的数据都符合条件,最后一次提交,
if data4_v > 0 then
插入数据;
end if
commit;
第二种办法
插入一次
提交一次
sam06127606
2013-12-06
知道答主
回答量:8
采纳率:0%
帮助的人:5.6万
展开全部
这种要求,是无法用触发器来,因为解发器是“单笔更新时才发生”。
如果有N笔资料同时增加,就有执行N次的触发器。。
所以,只能用存诸过程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无盐一对
2013-12-06 · 超过10用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:34.4万
展开全部
等待所有的都插入后,再提交,我说的是oracle数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式