【发布时间】:2020-04-17 20:01:42
【问题描述】:
基于此question 我想知道是否可以根据传递给函数的 ID 返回不同的表数据。 类似(伪代码):
CREATE FUNCTION schemaB.testFunc(p_id INT, select_param INT)
RETURNS setof schemaZ.Table_1
AS
$$
CASE
WHEN select_param = 1 THEN SELECT * FROM schemaZ.Table_1 WHERE id = p_id
WHEN select_param = 2 THEN SELECT * FROM schemaZ.Table_2 WHERE id = p_id
END;
$$
language sql;
Table_1 和 Table_2 不共享相同的列,这会使上述 RETURNS 子句无效。
【问题讨论】:
标签: postgresql plpgsql database-schema dynamic-sql sql-function