如何将一大组SQL查询转换为使用变量的单个存储过程?

时间:2012-04-11 10:16:01

标签: sql postgresql stored-procedures postgresql-9.1

我正在尝试将一大堆SQL语句转换为使用变量的PostgreSQL存储过程,该变量应该从一个SELECT的结果中填充。

如果您想查看必须运行的内容,可以查看here

据我所知,PostgreSQL不允许在使用SQL语言的存储过程中使用变量,所以我正在寻找需要最少量更改的解决方案。

2 个答案:

答案 0 :(得分:1)

代码似乎非常重复。 EXECUTE会有任何帮助吗? (manual about execute) (example and more information)它允许您运行预定义的查询并动态创建新的查询。

答案 1 :(得分:1)

找到正确的语法后会更容易:

以下是definition语言的plpgsql程序:

DECLARE myvar integer;
BEGIN
SELECT INTO myvar FROM ...;
-- use myvar
END;