加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:20:22 所属栏目:百科 来源:网络整理
导读:sql是系统自动创建隐式游标; 隐式游标自动声明、打开和关闭,其名为 SQL; 通过检查隐式游标的属性可以获得最近执行的DML 语句的信息; 隐式游标的属性有: SQL%FOUND – SQL 语句影响了一行或多行时为 TRUE; SQL%NOTFOUND – SQL 语句没有影响任何行时为TRUE;
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) is
EmpCount    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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读