创建一种对象时,是否可以将类型声明为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类型的数据类型和宽度?
答案 0 :(得分:1)
遗憾的是,这是不可能的。您必须提供实际类型,不能引用表格列的%TYPE
。
原因是%TYPE
和%ROWTYPE
都是PL / SQL构造,SQL不支持这些构造。