ORA-01981: CASCADE CONSTRAINTS must be specified to perform this revoke

文档解释

ORA-01981: CASCADE CONSTRAINTS must be specified to perform this revoke

Cause: During this revoke some foreign key contraints will be removed. In order to perform this automatically, CASCADE CONSTRAINTS must be specified.

Action: Remove the constraints or specify CASCADE CONSTRAINTS.

该错误是ORACLE某版本之后在撤销外键检查时使用revoke引起的,其原因是ORACLE数据库需要对外键的一致性进行保证。

官方解释

常见案例

正常处理方法及步骤

1. 查看当前系统外键:使用select * from user_constraints;语句查看当前系统的外键

2. 用revoke命令撤销外键:根据当前系统外键的名称,使用revoke语句将外键撤销,如:revoke fk_name on table_name cascade constraints,其中fk_name为外键名,table_name为表名,cascade constraints为撤销外键时要指定的参数。

3. 撤销完成:如果撤销外键成功,则可以查看当前数据库是否存在外键,依旧使用select * from user_constraints;语句,如果没有结果返回,则外键已经撤销成功。

你可能感兴趣的