根据查询结果将值设置为变量(PL / pgSQL样式)

时间:2013-06-19 09:37:32

标签: postgresql plpgsql postgresql-9.2

我需要做的是使用EXECUTING查询为变量设置一个值。

在纯SQL风格中,我可以执行以下操作:

// here declaring function and etc...
DECLARE cnt INTEGER;

EXECUTE 'SELECT COUNT(*) FROM t' INTO cnt;

如何以PL / pgSQL函数的形式实现相同的功能?以下伪代码的正确语法是什么? (以下显然是错误的语法)

cnt :=  EXECUTE ( 'SELECT COUNT(*) FROM t' )   ;

3 个答案:

答案 0 :(得分:16)

我认为你在寻找的是:

cnt := COUNT(*) FROM t;

答案 1 :(得分:6)

您可以使用SELECT INTO

DECLARE cnt INTEGER;
SELECT INTO cnt count(*) FROM t;

答案 2 :(得分:3)

不确定“plpgsql样式”是什么意思。您显示的语法完全正常,如documentation中所示。