oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

来源:互联网 发布:以前开过淘宝店怎样重新开通 编辑:程序博客网 时间:2024/04/28 15:58
sql是系统自动创建隐式游标;
隐式游标自动声明、打开和关闭,其名为 SQL;
通过检查隐式游标的属性可以获得最近执行的DML 语句的信息;
隐式游标的属性有:
SQL%FOUND – SQL 语句影响了一行或多行时为 TRUE;
SQL%NOTFOUND – SQL 语句没有影响任何行时为TRUE;
SQL%ROWCOUNT – SQL 语句影响的行数;
SQL%ISOPEN - 游标是否打开,始终为FALSE;
简单举例:
1、
begin update salary set bonus = 1000 where emp_id = 10; if sql%notfound then insert salary(bonus)values(100); end if; .................

2、
create or replace procedure delDept(p_deptno in dept.deptno%type) isEmpCount    NUMBER; --影响的记录数begin    delete from dept where deptno=p_deptno;     EmpCount := SQL%ROWCOUNT;     if(EmpCount <>0)     then    dbms_output.put_line('部门删除成功...');    exception when others then    dbms_output.put_line('部门删除失败...');end;


阅读全文
0 0