Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
创建对象类型时,是否可以将类型声明为TABLE.COLUMNNAME%TYPE?
TABLE.COLUMNNAME%TYPE
例如
CREATE OR REPLACE TYPE PROJECT_TYPE IS OBJECT ( project_id project.project_id%TYPE, project_desc project.project_desc%TYPE );
或者我必须在创建时指定类型和宽度?这个问题的原因是如果表被更改,那么我也必须更改为 OBJECT 类型的数据类型和宽度?
不幸的是,这是不可能的。您必须提供实际类型,不能引用%TYPE表的列。
%TYPE
原因是%TYPE和%ROWTYPE都是 PL/SQL 结构,SQL 不支持这些结构。
%ROWTYPE