sql – 如何创建引用数据类型的表列的Oracle Type?

我试图使用以下代码定义一个类型.
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

这是什么问题?

解决方法

它的错误是%类型是PL / sql语法.它在sql中不受支持.

我同意这是一个耻辱,如果我们可以在类型声明中引用表列,这将是非常整洁的.不幸的是,Oracle在过去几个版本中真的放慢了对TYPE实施的改变,所以我认为这在不久的将来不太可能会改变.

我真正希望看到的是Oracle支持这种语法:

CREATE OR REPLACE TYPE MY_TYPE AS OBJECT 
      (     one_row        some_table_name.%rowtype );

界面的动态对象:多么酷?

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...