【发布时间】:2019-03-30 02:40:05
【问题描述】:
在运行 Select 查询时,返回 Pl Pgsql 中的所有列 写在一个函数中, 在传递参数期间显示错误。
CREATE OR REPLACE FUNCTION myfunc(ENROLL VARCHAR(50)) RETURNS SETOF RECORD AS $$
DECLARE CALTYPE VARCHAR(50);
BEGIN
SELECT COMPLETED INTO
CALTYPE FROM TEMPDATA WHERE
ROLL=ENROLL;
IF CALTYPE='FALSE' THEN
RETURN QUERY
SELECT * FROM SEM8
WHERE ROLL=ENROLL;
ELSE
RETURN QUERY
SELECT * FROM TEMPDATA
WHERE ROLL=ENROLL;
END IF;
END;
$$ LANGUAGE plpgsql;
SELECT * FROM myfunc('123');
【问题讨论】:
-
错误是什么?
-
你遇到了什么错误?
-
错误:返回“记录”的函数需要列定义列表 LINE 1: SELECT * FROM myfunc('123');
-
运行 SELECT * FROM myfunc('123'); 时出错;
标签: postgresql