次のようなテーブルがあります。
CREATE TABLE test(
id integer not null default nextval('test_id_seq'::regclass),
client_name_id integer not null
);
外部キー制約:
"test_client_name_id_fkey" FOREIGN KEY (client_name_id) REFERENCES company(id) DEFERRABLE INITIALLY DEFERRED
および会社のテーブル:
CREATE TABLE company(
id integer not null default nextval('company_id_seq'::regclass),
company_name character varying(64) not null
)
これで、company_name と一致する文字列である提供された値 client_name_id を使用して、会社のテーブルから ID を取得するテスト テーブルにトリガーが設定されました。しかし、レコードを挿入すると、PostgreSQL は client_name_id が文字列であり、int が必要であるというエラーを返します。これは true です。
トリガーで処理したため、挿入された行を検証しないように PostgreSQL に指示するにはどうすればよいですか。