この質問を送信する前に、このテーマに関する Oracle ドキュメントを確認しました: Using CREATE OR REPLACE TYPE with Type and Table Dependencies
それでも私のエラーは解決されません。
いくつかのオブジェクト タイプを作成しました。
CREATE OR REPLACE TYPE SchoolMember AS OBJECT (
...
) NOT FINAL;
/
CREATE OR REPLACE TYPE Teacher UNDER SchoolMember (
...
);
/
CREATE OR REPLACE TYPE Curse AS OBJECT (
...
refTeacher REF Teacher,
...
);
/
コンストラクターを追加して Teacher オブジェクト型を変更したいとします。
CREATE OR REPLACE TYPE Teacher UNDER SchoolMember (
...
CONSTRUCTOR FUNCTION Teacher(...) RETURN SELF AS RESULT
);
/
CREATE OR REPLACE TYPE BODY Teacher AS
...
END;
/
ORA-02303が 表示されます。Teacher型が Curse オブジェクト型自体で使用されているため、型を型またはテーブル依存型で削除または置換できません。
継承されたオブジェクト タイプ (この場合は教師) を変更する場合、FORCE オプションはどこに配置すればよいですか? いくつかの方法を試しましたが、どれも機能しませんでした:
CREATE OR REPLACE TYPE Teacher FORCE UNDER SchoolMember
また
CREATE OR REPLACE TYPE Teacher UNDER SchoolMember FORCE
しかし、ORA-02303 エラーはまだ残っています。