Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 将新列添加到现有类型_Oracle_User Defined Types - Fatal编程技术网

Oracle 将新列添加到现有类型

Oracle 将新列添加到现有类型,oracle,user-defined-types,Oracle,User Defined Types,我有一种类型: create or replace type employee FORCE as object ( id VARCHAR2(8), code NUMBER(11) ) 我正在尝试向该类型添加另一列,因此如下所示: create or replace type employee FORCE as object ( id VARCHAR2(8), code NUMBER(11), date NUMBER(8) ) 但我遇到了一个错误: ORA-228

我有一种类型:

create or replace type employee FORCE as object (
   id VARCHAR2(8),
   code NUMBER(11) )
我正在尝试向该类型添加另一列,因此如下所示:

create or replace type employee FORCE as object (
   id VARCHAR2(8),
   code NUMBER(11),
   date NUMBER(8) )
但我遇到了一个错误:

ORA-22866: cannot replace a type with table dependents
22866. 00000 -  "default character set is of varying width"
*Cause:    A character `LOB` was defined but the default character
           set is not fixed width.
*Action:   Ensure that the character set is of fixed width before defining
           character `LOBs`.
如何将另一列添加到此类型


有没有办法将新列添加到类型中,而不是删除所有使用此类型的表。 是否有可以启用/禁用的内容来完成此操作。。。。
因为在我的场景中不可能删除这些表

您可能已经在表中使用了类型“employee”。您需要首先删除所有使用此类型的表,然后对其进行更改。您还应该更改“日期”字段,因为它是一个关键字

您可能已经在表中使用了类型“employee”。您需要首先删除所有使用此类型的表,然后对其进行更改。您还应该更改“日期”字段,因为它是一个关键字

Hi
date
对于列来说是一个非常糟糕的名称,因为它是一个保留字,需要引用。考虑把名字改成“代码”、“雇佣”、“日期”、“代码”等等。Hi <代码>日期<代码>是一个非常糟糕的名字,因为它是一个保留词,需要引用。考虑把名字改成“代码”、“职业”、“日期”、“代码”等等。不要删除现有数据。改为使用
alter type add attribute
。alter type employee add date NUMBER(8);抛出以下错误06545。00000-“PL/SQL:编译错误-编译已中止”*原因:发生PL/SQL编译错误,编译已完全中止,而编译单元未写入备份存储。与ora-06541不同,用户将始终看到此错误以及伴随的PLS-NNN错误消息*操作:请参阅随附的PLS-NNN错误消息。是否有方法将新列添加到该类型,而不是删除所有使用此类型的表。是否有可以启用/禁用的内容来完成此操作。。。。因为在我的场景中不可能删除这些表……那么,
altertype employee add属性employment\u date注意:属性是重新保存的单词。否。不要删除现有数据。改为使用
alter type add attribute
。alter type employee add date NUMBER(8);抛出以下错误06545。00000-“PL/SQL:编译错误-编译已中止”*原因:发生PL/SQL编译错误,编译已完全中止,而编译单元未写入备份存储。与ora-06541不同,用户将始终看到此错误以及伴随的PLS-NNN错误消息*操作:请参阅随附的PLS-NNN错误消息。是否有方法将新列添加到该类型,而不是删除所有使用此类型的表。是否有可以启用/禁用的内容来完成此操作。。。。因为在我的场景中不可能删除这些表……那么,
altertype employee add属性employment\u date注意:属性是重新保存的单词。