Oracle中 Procedure sql%notfound

一、前言

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。

相关推荐

  1. Oracle的索引

    2023-12-07 06:50:08       31 阅读
  2. Oracle 的函数

    2023-12-07 06:50:08       14 阅读
  3. Oracle Procedure sql%notfound

    2023-12-07 06:50:08       39 阅读
  4. Oracledecode函数使用

    2023-12-07 06:50:08       33 阅读
  5. oracle的PIVOT函数

    2023-12-07 06:50:08       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 06:50:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 06:50:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 06:50:08       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 06:50:08       20 阅读

热门阅读

  1. Oracle对表delete后空间不释放

    2023-12-07 06:50:08       37 阅读
  2. 镜像管理的基础命令

    2023-12-07 06:50:08       27 阅读
  3. mac m1 安装 pyenv 记录

    2023-12-07 06:50:08       34 阅读
  4. Docker中安装Oracle10g和oracle增删改查

    2023-12-07 06:50:08       34 阅读
  5. Flask 请求的生命周期

    2023-12-07 06:50:08       37 阅读
  6. Flask 异常处理和日志记录

    2023-12-07 06:50:08       32 阅读
  7. 2-Django、Flask和Tornado三大主流框架对比

    2023-12-07 06:50:08       30 阅读
  8. rust从0开始写项目-06-如何接受命令行参数clap-01

    2023-12-07 06:50:08       34 阅读
  9. WPF制作雷达扫描效果

    2023-12-07 06:50:08       35 阅读
  10. [Rust] 快速基础入门教程

    2023-12-07 06:50:08       25 阅读
  11. 初识docker

    2023-12-07 06:50:08       30 阅读
  12. thinkphp结合rabbitmq的使用案例

    2023-12-07 06:50:08       38 阅读