zoukankan      html  css  js  c++  java
  • oracle存储过程中操作语句成功判断

    1. SQL%ROWCOUNT    整型  代表DML语句成功执行的数据行数    

    2. SQL%FOUND       布尔型 值为TRUE代表插入、删除、更新或单行查询操作成功   

    3. SQL%NOTFOUND    布尔型 与SQL%FOUND属性返回值相反   

    4.  SQL%ISOPEN      布尔型 DML执行过程中为真,结束后为假 

    我们重点说一下SQL%FOUND ,我在写存储过程 时候主要目的是为了向数据库中插入一行记录,之前不知道这个用法的时候我使用的是在插入语句之前使用select count(*) into count from XXX;统计一下当前的记录数,插入语句之后再统计一下,然后使用两个count进行比较来判断插入语句是否成功,当然这种写法是完全可以的,使用SQL%FOUND来判断的时候需要注意一点就是commit语句放置的位置,看以下例子:

     insert into t_txmain_l(TXL_TXID,TXM_ID)  values (T_TXMAIN_L_SEQ.NEXTVAL,'100031',id);

       commit;

      if SQL%Found then
        dbms_output.put_line('记录插入成功!');
        else
         dbms_output.put_line('记录插入失败!');
       end if;

    此种写法执行后,记录插入成功,但输出的信息为:记录插入失败,将commit放在

     if SQL%Found then
        dbms_output.put_line('记录插入成功!');

        commit;

    时执行后成功插入并提示正确信息。

  • 相关阅读:
    docker mysql8 phpmyadmin
    linux 压缩与解压缩
    Ubuntu添加开机自动启动程序的方法
    Linux基本命令集合
    linux下使用supervisor启动.net core mvc website的配置
    小修改,让mvc的验证锦上添点花(2)
    小修改,让mvc的验证锦上添点花(1)
    java 基础面试
    redis 面试题
    springMVC 面试题整理
  • 原文地址:https://www.cnblogs.com/sindyhua/p/3016726.html
Copyright © 2011-2022 走看看