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;语句,如果没有结果返回,则外键已经撤销成功。