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%ROWTYPESQL でサポートされていない PL/SQL 構造であるためです。

于 2013-11-11T11:12:42.087 に答える