在oracle中,可以利用“alter table”語句配合“enable constraint”解決外鍵失效的問題,語法為“alter table tableName enable constraint 外鍵名稱;”,該語句能夠使失效的外鍵恢復。
本教程操作環(huán)境:windows10系統、Oracle 12c版、Dell G3電腦。
oracle外鍵失效怎么辦
使外鍵恢復:
alter table tableName enable constraint 外鍵名稱;
擴展:
使外鍵失效:
alter table tableName disable constraint 外鍵名稱;
刪除外鍵:
alter table tableName drop constraint 外鍵名稱;
ALTER TABLE … ENABLE/DISABLE CONSTRAINT命令用于啟用或禁用約束。
前提條件
提交工單聯系技術支持在shared_preload_libraries參數中添加polar_constraint插件。
內核版本為V1.1.11及以上,升級內核版本,請參見版本管理。
手動升級到V1.1.11內核版本的集群需要安裝polar_constraint插件,命令如下:
CREATE EXTENSION IF NOT EXISTS polar_constraint;
語法
ALTER TABLE table_name ADD CONSTRAINT constraint_name DISABLE;
為表table_name添加一個約束,約束constraint_name為禁用狀態(tài),即對當前表中的數據和新插入的數據都不起作用。
目前該語法支持如下四種類型的約束:
-
主鍵約束
-
唯一性約束
-
外鍵約束
-
CHECK約束
示例如下:
創(chuàng)建一個約束,要求a1列的值必須大于10,約束初始化為禁用狀態(tài)。
推薦教程:《Oracle視頻教程》