0

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

例如

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

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

4

1 回答 1

1

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

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

于 2013-11-11T11:12:42.087 回答