私はいくつかのテーブルを持っています。 私はテーブルを持っている 履歴テーブルにコピー・ロー上のuniverstal Postgresの関数を書きたい:Postgresはすべてのテーブルにユニバーサル関数を作成します
table1
table1_h
table2
table2_h
私は
CREATE OR REPLACE FUNCTION copy_history_f() RETURNS TRIGGER AS
$BODY$
DECLARE
tablename_h text:= TG_TABLE_NAME || '_h';
BEGIN
EXECUTE 'INSERT INTO ' || quote_ident(TG_TABLE_SCHEMA) || '.' || quote_ident(tablename_h) || ' VALUES (' || OLD.* ||')';
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
や関数の作成でしたが、アップデートがエラーになった後(ヘルプstackoverflowので)関数を書きました。
ERROR: syntax error at or near ","
ROW 1: ...RT INTO table1_h VALUES ((12,,,0,,"Anto...
エラーは、この挿入である場合、私は知っているが、私はそれを修復する方法がわかりません。 構造テーブルtable1とtable1_hは同じですが、table1_hにもう1つのカラム(id_h)があります
psql関数の作成方法を教えてください。
Thnak you。
はい、あなたの答えをありがとうございました。 Abelistoは普遍的な挿入をtable_hに書き込みます。それは働いている。 – ondrusu