現在、このデータをビューに追加しています。{"curr": "testcurr","nm": "testnm"}
トリガー機能を使用してビューに新しい行を挿入できません
その後、元のテーブルに挿入するためにトリガ機能が実行されます。
トリガー機能からエラーcannot insert into column "curr" of view "tblview"
が発生しました。ここで
IF (tg_op = 'INSERT') THEN
NEW."dat"= jsonb_build_object("curr",NEW.'curr','symb',NEW."symb");
NEW."ct"=now();
INSERT INTO data.tbl
(
"nm",
"dat",
"ct",
)
VALUES
(
NEW."nm",
NEW."dat"
NEW."ct"
)returning "id" into NEW.id;
END
私の見解は次のとおりです。
CREATE OR REPLACE VIEW data.tblview AS
SELECT gn.id,
gn.nm,
((gn.dat ->> 'curr'::text))::character varying(64) AS curr,
((gn.dat ->> 'symb'::text))::character varying(64) AS symb,
gn.ct
FROM data.gn
だから私は、新しい行を挿入することができない理由は何ですか?
ビューに挿入することはできません。ビューはROオブジェクトです。基本的にビューは単なる選択ルールです。それだけが選択されます - データを保持しません –