複数 - sql references 意味




Oracleのビューを参照する外部キー (2)

SOME_VIEWをマテリアライズド・ビューとして実装するのは、別のスキーマを参照しているためです。 次に、マテリアライズド・ビューを変更して主キーを追加し、foreingキーからこのビューを参照することもできます。

これはお読みhttps://docs.oracle.com/cd/A97630_01/server.920/a96567/repmview.htm : https://docs.oracle.com/cd/A97630_01/server.920/a96567/repmview.htm

私は外部キーを持つビューを参照しようとしていますが、このエラーが発生しています:

"エラー:ORA-02270:この列リストに一致する固有キーまたは主キーがありません"

しかし、私はこのビューで主キーを作成し、それをTOADのConstraintsタブで検証しました。

これは私が作成しようとしているテーブルです:

CREATE TABLE QUESTION
(   
    QUESTION_ID             INTEGER not null,
    CREATED_USER_ID         INTEGER not null,    
    CONSTRAINT PK_QUESTION  PRIMARY KEY (QUESTION_ID),
    CONSTRAINT FK_USER
        FOREIGN KEY (CREATED_USER_ID)
        REFERENCES SOME_VIEW(VIEW_ID)
);

SOME_VIEWは、別のスキーマ内の従業員表を指す別のビューに基づくビューです。


ビューに対する外部キーの作成の可能性にかかわらず、実装することは実際には最良のアイデアではありません。

データベースビューは、ユーザーが必要なデータを快適に照会できるように設計されていますが、同時にセキュリティ障壁としても機能し、テーブル、テーブルのデータ制約、テーブル相互参照などのデータベース構造をすべて隠すように設計されています。

だから、私の良い習慣は、あなたの新しいテーブルから、既存のテーブルを参照することです、他のスキームに住んでいるにもかかわらず。





foreign-keys