異なるデータ型の列を参照する方法はありますか?

sml485

示されているように、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)
);

私はからの外部キーの参照を作成する必要がありますcurr_codeRECORD_TBLcodeではCODE_TBL

ALTER TABLE schema2.record_tbl
ADD CONSTRAINT record_code_fk
FOREIGN KEY (curr_code)
REFERENCES schema1.code_tbl (code);

これは明らかに私にORA-02267(参照された列と互換性のない列タイプ)エラーを与えます。

CODE_TBLschema1を所有または管理していないため、のコード列を変更できません末尾の空白を考慮していないため、アプリケーションの多くの関数が破損curr_codeするRECORD_TBLため列を変更できません

2つの列の間に参照整合性を適用する他の方法はありますか?

さん

schema2がOracle11g以降を使用している場合、仮想列を使用すると問題が解決する可能性がありますが、それによって回避しようとしているテーブルの構造が変更されます。あなたがそれを管理することができるならば、これはそれがどのように行われることができるかです

SQL> CREATE TABLE code_tbl
  2  ( code        CHAR(6) PRIMARY KEY,
  3    description CHAR(30)
  4  );
Table created

SQL> 
SQL> CREATE TABLE record_tbl
  2  ( rec_id    VARCHAR2(10) PRIMARY KEY,
  3    curr_code VARCHAR2(6),
  4    remarks   VARCHAR2(30)
  5  );
Table created

SQL> INSERT INTO code_tbl(code, description)  VALUES ('ABC', 'Test Data');
1 row inserted

SQL> INSERT INTO record_tbl(rec_id, curr_code, remarks) VALUES ('1', 'ABC', 'Test Row');
1 row inserted

SQL> SELECT * FROM record_tbl;
REC_ID     CURR_CODE REMARKS
---------- --------- ------------------------------
1          ABC       Test Row

SQL> SELECT * FROM code_tbl;
CODE   DESCRIPTION
------ ------------------------------
ABC    Test Data

SQL> ALTER TABLE record_tbl ADD curr_code_v CHAR(6) AS (trim(curr_code));
Table altered

SQL> SELECT * FROM record_tbl;
REC_ID     CURR_CODE REMARKS                        CURR_CODE_V
---------- --------- ------------------------------ -----------
1          ABC       Test Row                       ABC

SQL> 
SQL> ALTER TABLE record_tbl
  2  ADD CONSTRAINT record_code_fk
  3  FOREIGN KEY (curr_code_v)
  4  REFERENCES code_tbl (CODE);
Table altered

SQL> INSERT INTO record_tbl(rec_id, curr_code, remarks)  VALUES ('2', 'ABC', 'Test Row 2');
1 row inserted

SQL> INSERT INTO record_tbl(rec_id, curr_code, remarks)  VALUES ('3', 'XYZ', 'Test Row 2');
INSERT INTO record_tbl(rec_id, curr_code, remarks)  VALUES ('3', 'XYZ', 'Test Row 2')
ORA-02291: integrity constraint (USER_X.RECORD_CODE_FK) violated - parent key not found

仮想列に関するTomKyteの言葉は次のとおりです。https//asktom.oracle.com/pls/asktom/f? p = 100:11:0 :::: P11_QUESTION_ID:676611400346196844

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

postgresの同じ列内に異なるデータ型を保存する正しい方法はありますか?

分類Dev

pysparkで列のデータ型を取得する方法はありますか?

分類Dev

非整数の列挙データ型を作成する方法はありますか?

分類Dev

C ++で、データ型ごとに異なる実行パスを許可する方法はありますか?

分類Dev

postgres配列のデータ型を伝える方法はありますか?

分類Dev

ブール値のような異なる値を持つデータ型はありますか

分類Dev

ブール値のような異なる値を持つデータ型はありますか

分類Dev

列挙型データ型の場合にユーザー入力を取得するための可能な方法はありますか?

分類Dev

整数データ型を処理するためのより効率的な方法はありますか?

分類Dev

MySQLでデータ型の最小値を取得する方法はありますか?

分類Dev

SQLAlchemy列のデータ型としてPythonセットを使用する方法はありますか?

分類Dev

Kotlinのデータクラス内に列挙型をネストする方法はありますか?

分類Dev

異なるデータ型の配列を宣言する方法

分類Dev

ansi Cで抽象データ型を作成するための標準的な方法はありますか?

分類Dev

2つの異なるデータ型配列を出力する方法は?

分類Dev

異なるデータ型のJSON配列を非整列化する方法は?

分類Dev

Gsonは単一の配列で異なるデータ型を解析する方法?

分類Dev

複数の列の2つの異なるデータフレームを一致させる方法はありますか

分類Dev

列挙型の基になる型としてブール値を使用する方法はありますか?

分類Dev

データベースで同じ名前のデータを取得する方法はありますが、phpを使用して作成者が異なりますか?

分類Dev

異なるデータソースを使用してデータスタジオレポートの作成を自動化する方法はありますか

分類Dev

レルムデータベースのデータ型を変更する方法はありますか?

分類Dev

redisキーは異なるデータ型間で一意である必要がありますか?

分類Dev

C#-2つの型パラメーターを必然的に異なるものに制約する方法はありますか?

分類Dev

Rascalに、対応するデータ型から文法の構文定義を生成する方法はありますか?

分類Dev

VBAでデータ型のデータをチェックする方法はありますか

分類Dev

異なるオブジェクト間でデータを共有する方法はありますか?

分類Dev

値の範囲のみを受け入れるデータ型を作成する方法はありますか?

分類Dev

データフレーム内の2つの異なるインデックスの共通部分を計算する簡単な方法はありますか?

Related 関連記事

  1. 1

    postgresの同じ列内に異なるデータ型を保存する正しい方法はありますか?

  2. 2

    pysparkで列のデータ型を取得する方法はありますか?

  3. 3

    非整数の列挙データ型を作成する方法はありますか?

  4. 4

    C ++で、データ型ごとに異なる実行パスを許可する方法はありますか?

  5. 5

    postgres配列のデータ型を伝える方法はありますか?

  6. 6

    ブール値のような異なる値を持つデータ型はありますか

  7. 7

    ブール値のような異なる値を持つデータ型はありますか

  8. 8

    列挙型データ型の場合にユーザー入力を取得するための可能な方法はありますか?

  9. 9

    整数データ型を処理するためのより効率的な方法はありますか?

  10. 10

    MySQLでデータ型の最小値を取得する方法はありますか?

  11. 11

    SQLAlchemy列のデータ型としてPythonセットを使用する方法はありますか?

  12. 12

    Kotlinのデータクラス内に列挙型をネストする方法はありますか?

  13. 13

    異なるデータ型の配列を宣言する方法

  14. 14

    ansi Cで抽象データ型を作成するための標準的な方法はありますか?

  15. 15

    2つの異なるデータ型配列を出力する方法は?

  16. 16

    異なるデータ型のJSON配列を非整列化する方法は?

  17. 17

    Gsonは単一の配列で異なるデータ型を解析する方法?

  18. 18

    複数の列の2つの異なるデータフレームを一致させる方法はありますか

  19. 19

    列挙型の基になる型としてブール値を使用する方法はありますか?

  20. 20

    データベースで同じ名前のデータを取得する方法はありますが、phpを使用して作成者が異なりますか?

  21. 21

    異なるデータソースを使用してデータスタジオレポートの作成を自動化する方法はありますか

  22. 22

    レルムデータベースのデータ型を変更する方法はありますか?

  23. 23

    redisキーは異なるデータ型間で一意である必要がありますか?

  24. 24

    C#-2つの型パラメーターを必然的に異なるものに制約する方法はありますか?

  25. 25

    Rascalに、対応するデータ型から文法の構文定義を生成する方法はありますか?

  26. 26

    VBAでデータ型のデータをチェックする方法はありますか

  27. 27

    異なるオブジェクト間でデータを共有する方法はありますか?

  28. 28

    値の範囲のみを受け入れるデータ型を作成する方法はありますか?

  29. 29

    データフレーム内の2つの異なるインデックスの共通部分を計算する簡単な方法はありますか?

ホットタグ

アーカイブ