2

私は次のオブジェクトを持っています:

CREATE FUNCTION CONSTFUNC RETURN INT
DETERMINISTIC
AS
BEGIN
RETURN 1;
END;

CREATE TABLE "FUNCTABLE" (
  "ID" NUMBER(*,0) NOT NULL,
  "VIRT" NUMBER GENERATED ALWAYS AS ("CONSTFUNC"()) NULL
);

ただし、functable => constfunc依存関係は、all_またはuser_依存関係にリストされていません。辞書のこの依存関係情報にアクセスできる場所はどこにありますか?

4

2 に答える 2

1

11G(11.1)で関数とテーブルを作成したところ、結果を確認できます。Oracleドキュメントにも何も見つかりませんでした。

関数を削除すると、テーブルのステータスは「有効」のままになりますが、テーブルから選択すると、ORA-00904:「CHAMP」。「CONSTFUNC」:無効な識別子が表示されます。これは、Oracle自体が依存関係を認識していないことを示しています。

Tom Kyteはより多くの情報にアクセスできるため、asktom.oracle.comでこの質問をする価値があるかもしれません。必要に応じて、バグを提起することもあります。

于 2009-11-13T12:48:14.493 に答える
0

仮想列の生成に使用される式は、[DBA | ALL |USER]_TAB_COLUMNSビューのDATA_DEFAULT列にリストされています。

于 2009-11-13T12:23:00.837 に答える