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 に答える