【发布时间】:2018-01-07 12:05:16
【问题描述】:
我们正在进行从 ORACLE 到 POSTGRESQL 的大转变,我正在尝试定义我们应该更改的所有内容,而且 PostgreSQL 中似乎没有 DBMS_SQL。 我知道我可以用 Cursors 做所有事情,但 DBMS_SQL 非常适合代码重用和在不同代码之间移动光标。
【问题讨论】:
标签: oracle postgresql cursor dynamic-sql equivalent
我们正在进行从 ORACLE 到 POSTGRESQL 的大转变,我正在尝试定义我们应该更改的所有内容,而且 PostgreSQL 中似乎没有 DBMS_SQL。 我知道我可以用 Cursors 做所有事情,但 DBMS_SQL 非常适合代码重用和在不同代码之间移动光标。
【问题讨论】:
标签: oracle postgresql cursor dynamic-sql equivalent
DBMS_SQL的一部分可以用动态游标或动态SQL代替:
DECLARE r record;
BEGIN
FOR r IN EXECUTE 'SELECT ...'
LOOP
...
DECLARE
c1 refcursor;
r record;
BEGIN
OPEN c1 FOR EXECUTE 'SELECT ...'
FOR r IN c1
LOOP
...
一些文档:
【讨论】:
refcursor对象。