您的位置:首页 > 数据库 > Oracle

oracle pl sql 隐式游标SQL

2014-03-10 22:07 246 查看
EMP表在SCOTT用户下。用SCOTT/TIGER登录。

代码:

BEGIN
UPDATE EMP SET ENAME = 'SMITH' WHERE EMPNO = 7369;
DBMS_OUTPUT.put_line('SQL%ROWCOUNT = ' || SQL%ROWCOUNT);
IF SQL%ISOPEN THEN
DBMS_OUTPUT.put_line('SQL%ISOPEN');
ELSE
DBMS_OUTPUT.put_line('NOT SQL%ISOPEN');
END IF;
IF SQL%FOUND THEN
DBMS_OUTPUT.put_line('SQL%FOUND');
ELSE
DBMS_OUTPUT.put_line('NOT SQL%FOUND');
END IF;
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.put_line('SQL%NOTFOUND');
ELSE
DBMS_OUTPUT.put_line('NOT SQL%NOTFOUND');
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('NO_DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.put_line('TOO_MANY_ROWS');
END;


执行后输出:

SQL%ROWCOUNT = 1
NOT SQL%ISOPEN
SQL%FOUND
NOT SQL%NOTFOUND


下面转自百度百科:http://baike.baidu.com/link?url=DtDvH2_cQtm1mnxaocW2u0AkoNvlLPW-45ZqbymRlcrCMP7x0xICoWczmEIib2gchksAh2mgOjwQr_jYyVBZTq

%FOUND

指出了当PL/SQL代码最后从游标的结果集中获取记录时,找到了记录。

%NOTFOUND

指出了当PL/SQL代码最后从游标的结果集中获取记录时,结果集中没有记录。

%ROWCOUNT

返回当前时刻还没有从游标中获取的记录数量。

%ISOPEN

对于隐式游标而言,属性%ISOPEN的值总是false,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: