【发布时间】:2015-02-27 11:04:46
【问题描述】:
我的数据库是 PostgreSQL 9.3.5。
我有一个动态查询,每次运行都会填充不同数量的列。为此,我们必须捕获该运行时结构。我们认为refcursor 结构还可以。但是怎么申报呢?
例子:
DECLARE
curs1 refcursor;
v_cols curs1%ROWTYPE;----> It is giving us error
BEGIN
OPEN curs1 FOR EXECUTE 'SELECT * FROM '|| tablename||'';
LOOP
FETCH curs1 INTO ....; --->Here how to capture the data
EXIT WHEN NOT FOUND;
END LOOP;
CLOSE curs1;
END;
【问题讨论】:
-
是的,非常感谢 a_horse_with_no_name
-
总是在问题中包含函数头,它是函数的一个组成部分。参数和返回类型与其余部分相关。
tablename的数据类型供初学者使用。
标签: postgresql loops cursor plpgsql dynamic-sql