Oracle 表->;通过虚拟列的函数依赖关系不在所有_依赖关系中?

Oracle 表->;通过虚拟列的函数依赖关系不在所有_依赖关系中?,oracle,dependencies,data-dictionary,Oracle,Dependencies,Data Dictionary,我有以下物品: 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依赖项并没有列在所有依赖项或用户依赖项中。字典中有任

我有以下物品:

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依赖项并没有列在所有依赖项或用户依赖项中。字典中有任何地方可以访问此依赖项信息吗?

用于生成虚拟列的表达式列在[DBA | ALL | USER]_选项卡| COLUMNS视图的DATA _DEFAULT列中

我刚刚在11G(11.1)中创建了您的函数和表,可以确认您的发现。我在Oracle文档中也找不到任何东西

如果您删除该函数,表状态将保持为“有效”,但当您从表中选择时,将得到ORA-00904:“CHAMP”。“CONSTFUNC”:无效标识符。这表明Oracle本身并没有意识到这种依赖性


在asktom.oracle.com上问这个问题可能是值得的,因为Tom Kyte可以访问更多信息-如果需要,他甚至可能会提出一个错误。

但我想要的是表达式的实际依赖信息,而不是表达式文本。我不想自己解析文本和查找对象标识符!我不知道为什么我会因此得到负面评价。这可能不是你想要的答案,但它是对你问题的正确回答。看起来甲骨文还没有完全开发出这个新功能。我有一个想法,也许一个表不能是一个引用对象类型,但我有一些数据库,其中表的列定义为类型,这些列确实正确地显示了依赖关系