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

Fra*_*arp 12 oracle plsql

我是oracle中的新手,我尝试将varchar(50)更改为250

   CREATE OR REPLACE TYPE CEQ_OWNER.TYPE_REC_PARAE2

   AS OBJECT    
   (
     ...
     BONETAT_DESC  VARCHAR2(250),
     ... 
   )
   /    
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Cod*_*odo 21

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

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

有关更多信息,请参阅此Oracle文档.

  • 是的,有一个表列出了所有依赖项(即用法):DBA_DEPENDENCIES. (2认同)

Gor*_*lio 15

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

create or replace type ceq_owner.type_rec_parae2 FORCE as object    
(
  ...
  BONETAT_DESC  VARCHAR2(250),
  ... 
)
/ 
Run Code Online (Sandbox Code Playgroud)


Len*_*man 6

尝试:

drop type your_type force;
Run Code Online (Sandbox Code Playgroud)