1

トリガーが実行され、次の関数を実行しようとするとエラーが発生します

CREATE OR REPLACE FUNCTION insert_new_sessions()
    RETURNS trigger AS
$$
DECLARE
BEGIN
SELECT dblink_exec('dbname=billing  port=5432','INSERT INTO md.radacct_test(radacctid,acctsessionid,acctuniqueid,username) select New.radacctid,New.acctsessionid,New.acctuniqueid,New.username' );

    RETURN NULL;
    EXCEPTION    WHEN OTHERS THEN RAISE NOTICE 'insert_new_sessions SQL ERROR: %', SQLERRM;

    RETURN NULL;
END;
$$  LANGUAGE plpgsql;

エラー:

ERROR insert_new_sessions SQL ERROR: missing FROM-clause entry for table "new"
4

2 に答える 2

1

文字列内に NEW があるため、文字列として解釈されますか? NEW.xxx 値を残りの文字列と連結してみてください。例えば。 INSERT INTO md.radacct_test(...) SELECT ' || NEW.radacctid ||', ' || NEW.acctsessionid || ', ' || NEW.acctuniqueid || ', ' || quote_nullable(NEW.username));

于 2013-09-16T12:05:06.703 に答える
-1

OLD および NEW キーワードは大文字と小文字が区別されると思います。

于 2013-09-16T12:07:09.577 に答える