私は関数を持っており、その関数の中に変数を作成します。作成した変数をフィルタリングのしきい値として使用したいと思います。PL/pgSQL関数の参照変数
ERROR: column "problematicVariable" does not exist
がどのように私はこれは列が、私は、関数本体内で作成された変数ではないことはpostgresを言うだろう:
CREATE OR REPLACE FUNCTION someF(a integer, b integer, c integer)
RETURNS void AS
$$
DECLARE
problematicVariable float := $1/$2;
BEGIN
FOR i in 1 .. $3:
CREATE TABLE IF NOT EXISTS someTable AS
SELECT someFunction(
'SELECT id,
FROM yetAnotherTable st
WHERE st.agg <= problematicVariable')
END LOOP;
END
$$
language 'plpgsql';
はしかし、私はというエラーを取得しますか?
WHERE st.agg <= '|| problematicVariable) ' –
変数を参照することは、あなたの問題の中では最少です。ゼロによる除算、整数除算、 'SELECT * 'ではなく' SELECT'、同じテーブル名での 'CREATE TABLE'の繰り返し...あなたのアプローチは大きな混乱です。 –