CREATE OR REPLACE TYPE MY_TYPE AS OBJECT ( app_id some_table_name.app_id%type );
如果我运行这个,我得到错误.
Error(4,32): PLS-00201: identifier 'some_table_name.app_id' must be declared
这是什么问题?
我同意这是一个耻辱,如果我们可以在类型声明中引用表列,这将是非常整洁的.不幸的是,Oracle在过去几个版本中真的放慢了对TYPE实施的改变,所以我认为这在不久的将来不太可能会改变.
我真正希望看到的是Oracle支持这种语法:
CREATE OR REPLACE TYPE MY_TYPE AS OBJECT ( one_row some_table_name.%rowtype );
界面的动态对象:多么酷?