3

我需要做的是使用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' )   ;
4

3 回答 3

20

我认为您正在寻找的是:

cnt := COUNT(*) FROM t;
于 2013-09-27T13:11:35.047 回答
8

你可以使用 SELECT INTO

DECLARE cnt INTEGER;
SELECT INTO cnt count(*) FROM t;
于 2014-01-07T15:21:21.373 回答
4

不确定“plpgsql 风格”是什么意思。您显示的语法完全可以,如文档中所示。

于 2013-06-19T10:15:17.093 回答