ORACLE触发器中如何终止SQL语句的执行?
比如向数据库里insert一条语句时候,若判断到插入的数据的某一个字段为空值,则终止该insert语句,请问该触发器怎么写?用的是plsql...
比如向数据库里insert一条语句时候,若判断到插入的数据的某一个字段为空值,则终止该insert语句,请问该触发器怎么写?
用的是plsql 展开
用的是plsql 展开
4个回答
展开全部
抛出异常,比如:
if new.col1 is null then
RAISE_APPLICATION_ERROR(-20001, 'col1 is null.');
end if;
if new.col1 is null then
RAISE_APPLICATION_ERROR(-20001, 'col1 is null.');
end if;
更多追问追答
追问
这个-20001是什么意思呢?
追答
自定义的 错误号: ora-20001
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if 值 is null then
return;
else
insert.....;
end if;
return;
else
insert.....;
end if;
追问
我试过了,语句还是成功执行了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if :new.col1 is null then
rollback;
end if;
rollback;
end if;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少用触发器,效率低
追问
找错误的,我也不想用啊...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询