ORA-02303:不能删除或替换类型或表依赖的类型

时间:2012-07-26 17:33:00

标签: oracle plsql

我在oracle和 我尝试将varchar(50)更改为250

   CREATE OR REPLACE TYPE CEQ_OWNER.TYPE_REC_PARAE2

   AS OBJECT    
   (
     ...
     BONETAT_DESC  VARCHAR2(250),
     ... 
   )
   /    

我得到ORA-02303:不能删除或替换类型或表依赖的类型

由于

4 个答案:

答案 0 :(得分:19)

还有其他类型或表依赖于您要更改的类型。如果它是依赖类型,则可以使用FORCE选项更改类型。

如果是直接或间接使用该类型的表,则需要创建新类型和新表,迁移所有数据,最后删除并重命名表和类型。

有关更多信息,请参阅此Oracle documentation

答案 1 :(得分:13)

我到处寻找语法,但很难找到文档。从Codo链接的页面...注意FORCE位于对象名称和as object之间

create or replace type ceq_owner.type_rec_parae2 FORCE as object    
(
  ...
  BONETAT_DESC  VARCHAR2(250),
  ... 
)
/ 

答案 2 :(得分:6)

尝试:

drop type your_type force;

答案 3 :(得分:-2)

您尝试修改或删除的对象存在一些依赖关系。

如果你想跳过这个,首先删除从属对象并尝试DROP或MODIFY

如下面的截图

此致 了Arul