PL / pgSQL中PL / SQL%NOTFOUND的等价物是什么?

时间:2010-10-06 14:25:24

标签: oracle postgresql plsql cursor plpgsql

标题中的所有内容。

我在游标上循环,想要

EXIT WHEN curs%NOTFOUND

当没有更多行时,PostgreSQL下的%NOTFOUND相当于什么?

修改

或其他游标属性%ISOPEN,%EMPTY等...

2 个答案:

答案 0 :(得分:2)

现在无法测试,但如果你试试这个怎么办? 查看标题37.7.3.2。退出此链接 http://www.postgresql.org/docs/8.2/static/plpgsql-control-structures.html

IF NOT FOUND THEN
    EXIT;
END IF;

OR

EXIT WHEN NOT FOUND;

答案 1 :(得分:1)

FOUND变量

隐式光标

SELECT * INTO myrec FROM emp WHERE empname = myname;
IF NOT FOUND THEN
    RAISE EXCEPTION 'employee % not found', myname;
END IF;

使用显式光标

...   
    LOOP
        FETCH cursor INTO whatever;
        EXIT IF NOT FOUND;
           do something with whatever
    end LOOP;