PL/SQL 取得删除纪录的条数

来源:互联网 发布:人工智能软件下载 编辑:程序博客网 时间:2024/04/20 01:25

怎样统计PLSQL语言中删除语句执行之后一共删除了多少条纪录。

 

Oracle使用两种光标:显式光标和隐式光标。不管语句返回多少条纪录,PL/SQL为使用的每一条UPDATE、DELETE和INSERT等SQL命令隐式的声明一个光标。(要管理SQL语句的处理,必须隐式的给它定义一个光标。)

在PL/SQL中,当执行DML语句的时候,会自动打开一个隐式游标(游标就类似JDBC中的ResultSet),而相关要被操作的数据都是会先被放入隐式游标。隐式游标由ORACLE帮我们自动管理,如果想要手动进行一些操作的话,我们可以使用隐式游标的相关属性。如:
SQL%FOUND 成功获取记录返回true,否则返回false
SQL%NOTFOUND 成功获取记录返回true,否则返回false
SQL%ROWCOUNT 返回从游标中获取的记录条数
SQL%ISOPEN 总是返回false

 

利用隐式游标属性SQL%ROWCOUNT可以达到计算删除了多少条纪录。

 

     dbms_output.put_line('开始删除'||v_score||'以下的同学');
     DELETE FROM t_student WHERE s_score<v_score; --删除比输入的成绩都要少的学生
     IF SQL%FOUND THEN --如果可以从隐式游标中获得数据则返回true
        dbms_output.put_line('删除了'||SQL%ROWCOUNT||'个学生'); --SQL%ROWCOUNT-删除的学生的记录条数
     ELSE --如果不能从隐式游标中获得数据则返回false
        dbms_output.put_line('没有删除记录');
     END IF;

 

参考

http://www.haoxiai.net/wangzhanzhizuo/shujuku/61234.html

http://blog.sina.com.cn/s/blog_610239f40100gow4.html

 

 

原创粉丝点击