Oracle中 Procedure sql%notfound
2023-12-13 04:10:38
一、前言
sql%notfound 是一个布尔值,与最接近的sql语句(update、insert、delete、select)发生交互,当最近的一条sql语句没有涉及到任何行的时候,返回true,否则返回false。
二、说明
这样的语句在实际应用中,是非常有用的。例如要update一行数据时,如果没有找到,就可以作相应操作。
begin
update table_name set salary = 1 where emp_id = 0;
if sql%notfound then
insert into table_name (id,name,salary)values("","","") ;
end if;
end;
当update emp_id为0的这行记录,如果update影响条数为0,则插入一条数据。
SQL%FOUND 的用法与sql%notfound用法相反,也是与最近的sql语句发生交互,如果影响行数大于0条,则为true,否则为false。
SQL%ROWCOUNT在 DML 语句执行前是null,执行后,对于select into语句,执行成功则值为1,不成功则值为0。
文章来源:https://blog.csdn.net/KevinChen2019/article/details/134836260
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!