伙計們,我的問題是我不知道我添加到表中的約束名稱。但我需要洗掉或禁用所有這些外鍵約束。但是如何?
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_STATUS VARCHAR2(10)
uj5u.com熱心網友回復:
相關的外約束可能是通過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;
/
uj5u.com熱心網友回復:
如果您使用的是 sql developer 之類的工具,您可以在導航器中右鍵單擊表名并選擇約束 > 禁用全部或洗掉
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/399916.html
上一篇:基于更改表中的值的PL/SQL觸發器BEFOREINSERT
下一篇:跨不同行的值-將它們合并為1行
