在另一个游标中使用/调用一个游标 - PL/Sql

发布于 2024-12-15 14:00:56 字数 520 浏览 1 评论 0原文

我有一个带有游标的函数,它返回一个 ID。我需要使用第一个游标的 ID 结果获取另一个游标中的一些字段。

所以我的第一个光标是:

CREATE OR REPLACE function get_id(id number) 

CURSOR child_id
   IS
       SELECT table1_id
            FROM table1,child
              WHERE child_id = id
          AND table1_id = child_chld_id;

理想情况下,我的第二个光标应该是:

cursor grandchild_id
is
select table1_id from table1,child
where child_id = (return value of id from cursor child_id)
and table1_id = child_chld_id; 

我该怎么做?

I have a function with a cursor which returns an ID. I need to get some fields in another cursor using this ID result from the first cursor.

So my first cursor is:

CREATE OR REPLACE function get_id(id number) 

CURSOR child_id
   IS
       SELECT table1_id
            FROM table1,child
              WHERE child_id = id
          AND table1_id = child_chld_id;

Ideally my second cursor should be:

cursor grandchild_id
is
select table1_id from table1,child
where child_id = (return value of id from cursor child_id)
and table1_id = child_chld_id; 

How do I do this?

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

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

发布评论

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

评论(1

像你 2024-12-22 14:00:56

游标可以接受参数:

cursor grandchild_id(other_child_id number)
is
select table1_id from table1,child
where child_id = grandchild_id.other_child_id
and table1_id = child_chld_id; 

每当您打开 grandchild_id 游标时,只需将适当的值作为参数传递即可:

grandchild_id(the_value_you_obtained_from_the_first_cursor)

Cursors can accept parameters:

cursor grandchild_id(other_child_id number)
is
select table1_id from table1,child
where child_id = grandchild_id.other_child_id
and table1_id = child_chld_id; 

Whenever you open the grandchild_id cursor, simply pass the appropriate value as an argument:

grandchild_id(the_value_you_obtained_from_the_first_cursor)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文