以下のトリガを作成し、関数を更新する関数を作成しました。 'frm'と 'トリガ機能では、 『タイムゾーンなしのタイムスタンプ』タイプのPostgreSQL:演算子が存在しません:タイムゾーンなしのタイムスタンプ==タイムゾーンなしのタイムスタンプ
ている私は、私は、PostgreSQL
にエラー下回っ取得しています更新クエリを実行した後、これらの二つの列ERROR: operator does not exist: timestamp without time zone == timestamp without time zone
CREATE OR REPLACE FUNCTION ff() RETURNS TRIGGER AS $$
BEGIN
if((old."frm" == New."frm") and (old."upto" == New."upto")) then
insert into TG_TABLE_NAME (select * from inserted);
New."from" := old."from";
NEW."upto" := current_timestamp;
RETURN NEW;
END IF;
RETURN NULL;
END $$ LANGUAGE plpgsql;
create trigger update_trig2 after update on dd
for each row execute procedure ff();`
の更新をチェックしていた」点で最大
で
==
を交換する必要があり、比較演算子は、 ' '=''、ない ' '==''です。 – wildplasser私が覚えているように、 'Pascal'言語に基づいた' Ada'言語に基づいてOracleによって最初に設計された 'plsql'言語。したがって、代入演算子は ':='で、等価演算子は '='です(しかし、不等式演算子は '<>'と '!='の両方になります) – Abelisto
これはうまくいきましたが、以下のエラーがありました ERROR :relation "tg_table_name"は存在しませんLINE 1:TG_TABLE_NAMEに挿入してください(挿入から選択) TG_TABLE_NAMEがトリガーを呼び出すテーブルを参照する正しい方法ではない場合は教えてください。 –