从表 oracle 中删除所有约束

本教程将介绍从表 oracle 中删除所有约束的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

从表 oracle 中删除所有约束 教程 第1张

问题描述

伙计们,我的问题是我不知道我添加到表中的约束名称.但我需要删除或禁用所有这些外键约束.但是怎么做呢?

SQL> desc orders;


Name  Null? Type
 ----------------------------------------- -------- ----------------------------
 ORDER_ID NOT NULL VARCHAR2(10)
 PRODUCT_ID  VARCHAR2(10)
 DATE_OF_ORDER  TIMESTAMP(6)
 CUST_ID  VARCHAR2(10)
 QUANTITY NUMBER(38)
 TOTAL_PRICE FLOAT(10)
 DELIVERY_STATUSVARCHAR2(10)

推荐答案

相关的外约束可以通过user_constraints字典视图来确定,可以通过下面的代码块

BEGIN
  FOR c IN
 (
SELECT * 
  FROM user_constraints c
 WHERE c.constraint_type = 'R'
AND c.table_name = 'ORDERS')
  LOOP
 EXECUTE IMMEDIATE 'ALTER TABLE '||c.table_name||
 ' DISABLE CONSTRAINT '||c.constraint_name;
  END LOOP;
END;/

好了关于从表 oracle 中删除所有约束的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。