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

发布于 2024-09-26 12:07:13 字数 198 浏览 4 评论 0原文

一切都在标题中。

我正在游标上循环,并且希望

EXIT WHEN curs%NOTFOUND

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

编辑

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

Everything's in the title.

I am Looping on a cursor and would like to have the

EXIT WHEN curs%NOTFOUND

when there is no more row, what is the equivalent of %NOTFOUND under PostgreSQL ?

Edit

Or the other cursors attributes %ISOPEN, %EMPTY, etc...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嗫嚅 2024-10-03 12:07:13

现在无法测试,但是如果您尝试一下会怎样?
查看章节标题 37.7.3.2。在此链接退出
http://www.postgresql.org/docs/8.2/static /plpgsql-control-structs.html

IF NOT FOUND THEN
    EXIT;
END IF;

EXIT WHEN NOT FOUND;

Can't test this right now but what if you try this?
Check out section title 37.7.3.2. EXIT at this link
http://www.postgresql.org/docs/8.2/static/plpgsql-control-structures.html

IF NOT FOUND THEN
    EXIT;
END IF;

OR

EXIT WHEN NOT FOUND;
彩虹直至黑白 2024-10-03 12:07:13

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;

The FOUND variable

Implicit cursor

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

With an explicit cursor

...   
    LOOP
        FETCH cursor INTO whatever;
        EXIT IF NOT FOUND;
           do something with whatever
    end LOOP;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文