10gR2 でスタック データ構造を実装したいと考えています。
しかし、私がやろうとすると:
TYPE ContainerArray AS VARRAY(25) OF XDB.DBMS_XMLDOM.DOMNODE を作成または置換します。
私は得る
「スキーマ レベルの型に、XDB.DBMS_XMLDOM への不正な参照があります。」
これは、Oracle では、パッケージ レベルの型を参照するスキーマ レベルの型を作成できないためです。
パッケージ内に型を作成することで、この問題を解決できます。
TYPE ContainerArray AS VARRAY(25) OF XDB.DBMS_XMLDOM.DOMNODE;
ただし、オブジェクトを作成しようとすると、パッケージ レベルの型を参照できません。
CREATE TYPE DOMNode_Stack AS OBJECT (
max_size INTEGER,
top INTEGER,
position ContainerArray,
MEMBER PROCEDURE initialize,
MEMBER FUNCTION full RETURN BOOLEAN,
MEMBER FUNCTION empty RETURN BOOLEAN,
MEMBER PROCEDURE push (n IN INTEGER),
MEMBER PROCEDURE pop (n OUT INTEGER)
);
そして、私は取得するため、パッケージ内にオブジェクトタイプを作成できません
「このコンテキストではオブジェクトはサポートされていません。」
この問題を解決する方法について何か考えはありますか?