Oracle类型的Object

时间:2013-11-11 10:57:47

标签: oracle plsql oracle10g

创建一种对象时,是否可以将类型声明为TABLE.COLUMNNAME%TYPE

e.g。

CREATE OR REPLACE TYPE PROJECT_TYPE IS OBJECT
(
    project_id project.project_id%TYPE,
    project_desc project.project_desc%TYPE
);

或者我必须在创建时指定类型和宽度?这个问题的原因是,如果表被更改,那么我还必须更改为OBJECT类型的数据类型和宽度?

1 个答案:

答案 0 :(得分:1)

遗憾的是,这是不可能的。您必须提供实际类型,不能引用表格列的%TYPE

原因是%TYPE%ROWTYPE都是PL / SQL构造,SQL不支持这些构造。