Oracle批量執(zhí)行sql語句之禁用所有表的外鍵
在轉(zhuǎn)移數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)導(dǎo)入的時候,遇到一件麻煩事,就是表間外鍵約束的存在,導(dǎo)致insert頻頻報錯,批量執(zhí)行sql語句又是順序執(zhí)行,沒辦法我只好手動輸入。
然后輸入到一半靈光一閃,為什么不先把外鍵約束全部禁用先呢?
于是我百度到以下資料:
oracle 刪除(所有)約束 禁用(所有)約束 啟用(所有)約束
執(zhí)行以下sql生成的語句即可
1刪除所有外鍵約束
select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R'
2禁用所有外鍵約束
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
3啟用所有外鍵約束
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
在SQL Plus中輸入語句后,生成了很多語句,這些語句其實是沒執(zhí)行的,復(fù)制下來執(zhí)行一遍就好了。
然后我們可以根據(jù)這個腳本一樣的sql語句進(jìn)行拼裝,得到我們需要的語句:
禁用所有外鍵約束:
select 'ALTER TABLE "QIANHAI"."'||table_name||'" MODIFY CONSTRAINT "'||constraint_name||'" DISABLE;' from user_constraints where constraint_type='R'
啟用所有外鍵約束:
select 'ALTER TABLE "QIANHAI"."'||table_name||'" MODIFY CONSTRAINT "'||constraint_name||'" ENABLE;' from user_constraints where constraint_type='R';
關(guān)于Oracle批量執(zhí)行sql語句之禁用所有表的外鍵的相關(guān)內(nèi)容,就給大家介紹這么多,后續(xù)還會持續(xù)更新,感興趣的朋友請繼續(xù)關(guān)注腳本之家網(wǎng)站,謝謝!
- Oracle批量插入數(shù)據(jù)的三種方式【推薦】
- C# Oracle批量插入數(shù)據(jù)進(jìn)度條的實現(xiàn)代碼
- Oracle + Mybatis實現(xiàn)批量插入、更新和刪除示例代碼
- MyBatis批量插入數(shù)據(jù)到Oracle數(shù)據(jù)庫中的兩種方式(實例代碼)
- Oracle兩張表關(guān)聯(lián)批量更新其中一張表的數(shù)據(jù)
- Oracle批量查詢、刪除、更新使用BULK COLLECT提高效率
- mybatis執(zhí)行批量更新batch update 的方法(oracle,mysql兩種)
- Oracle批量導(dǎo)入文本文件快速的方法(sqlldr實現(xiàn))
- Oracle+Mybatis的foreach insert批量插入報錯的快速解決辦法
- Java實現(xiàn)mybatis批量插入數(shù)據(jù)到Oracle
- oracle+mybatis 使用動態(tài)Sql當(dāng)插入字段不確定的情況下實現(xiàn)批量insert
- Oracle 高速批量數(shù)據(jù)加載工具sql*loader使用說明
- Oracle數(shù)據(jù)庫更新大批量數(shù)據(jù)案例
相關(guān)文章
在Spring中用select last_insert_id()時遇到問題
一直使用的Oracle數(shù)據(jù)庫,通過序列來實現(xiàn)自增字段,插入之前就已經(jīng)獲得了自增id,保存下來即可在后來的操作中使用2009-05-05
升級和卸載Oracle數(shù)據(jù)庫軟件的命令整理
這篇文章主要介紹了升級和卸載Oracle數(shù)據(jù)庫軟件的命令整理,包括升級時可能用到的查看版本號和備份操作的命令介紹,需要的朋友可以參考下2015-12-12
Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議解決辦法
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫ORA-28040:沒有匹配的驗證協(xié)議問題的解決辦法,ORA-28040是Oracle數(shù)據(jù)庫的錯誤代碼,表示沒有匹配的驗證協(xié)議,這通常是由于客戶端和服務(wù)器之間的身份驗證協(xié)議不匹配導(dǎo)致的,需要的朋友可以參考下2024-03-03
Oracle CBO優(yōu)化模式中的5種索引訪問方法淺析
這篇文章主要介紹了Oracle CBO優(yōu)化模式中的5種索引訪問方法淺析,包含索引唯一掃描、索引范圍掃描、索引全掃描、索引跳躍掃描、索引快速全掃描等內(nèi)容,需要的朋友可以參考下2014-07-07
如何使用Oracle PL/SQL 實現(xiàn)發(fā)送電子郵件功能(UTL_MAIL)
這篇文章主要介紹了Oracle PL/SQL 實現(xiàn)發(fā)送電子郵件功能,今天主要給大家介紹使用UTL_MAIL實現(xiàn)發(fā)送電子郵件功能,具體實例代碼跟隨小編一起看看吧2021-08-08
在客戶端配置TNS測試報錯ORA-12170:TNS:連接超時
在Red Hat Enterprise Linux Server Releae 5.5 成功安裝ORACLE 10g 后,在客戶端配置TNS后,測試是否可以連接到數(shù)據(jù)塊服務(wù)器,結(jié)果報錯:ORA-12170:TNS:連接超時2012-12-12

