示すように、私は2スキーマ/テーブルを持っている:異なるデータ型で列を参照する方法はありますか?
CREATE TABLE schema1.code_tbl
(code CHAR(6) PRIMARY KEY,
description CHAR(30)
);
CREATE TABLE schema2.record_tbl
(rec_id VARCHAR(10) PRIMARY KEY,
curr_code VARCHAR(6),
remarks VARCHAR(30)
);
私はCODE_TBL
にcode
からRECORD_TBL
でcurr_code
から外部キー参照を作成する必要があります。
ALTER TABLE schema2.record_tbl
ADD CONSTRAINT record_code_fk
FOREIGN KEY (curr_code)
REFERENCES schema1.code_tbl (code);
これは明らかに私にエラーORA-02267
(参照される列と互換性のない列タイプ)を与えます。
CODE_TBL
のコード列を変更することはできません。私はschema1を所有していないか、制御していないためです。 curr_code
の列をRECORD_TBL
に変更することはできません。なぜなら、末尾の空白を考慮していないため、アプリケーションの多くの機能が壊れるからです。
2つの列間に参照整合性を強制する他の方法はありますか?
ありがとうございました。私は私のローカルセットアップでそれをテストし、それは素晴らしい動作します。私の上司とDBAがそのような措置を承認するかどうかはまだ分かっていますが(生産のテーブル構造を変更することは常にちょっと面倒です)、技術的には実用的な解決策であるといえます。 – sml485