1. 程式人生 > >Oracle中快速刪除某個使用者下的所有表資料

Oracle中快速刪除某個使用者下的所有表資料

一、禁止所有的外來鍵約束


在pl/sql developer下執行如下語句:
SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
把查詢出來的結果拷出來在pl/sql developer時執行。
若沒有pl/sql developer,可以在sqlplus裡操作,方法如下:
1. 開啟sqlplus,並用相應的使用者連線。
2. 把pagesize設大點,如set pagesize 20000
3. 用spool把相應的結果導到檔案時,如


SQL> spool /home/oracle/constraint.sql
SQL> SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';
SQL> spool off
4. 已經生成了包含相應語句的指令碼,不過指令碼檔案裡的最前和最後面有多餘的語句,用文字編輯器開啟,並刪除沒用的語句即可
5. 重新用相應的使用者登入sqlplus,執行如下命令
SQL> @/home/oracle/constraint.sql


二、用delete或truncate刪除所有表的內容


SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;

SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;
用第一步類似的方法操作。要注意的一點是,若表的資料有觸發器相關聯,只能用truncate語句,不過truncate語句不能回滾,所以時要注意


三、把已經禁止的外來鍵開啟


SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';



相關推薦

Oracle快速刪除某個使用者所有資料

一、禁止所有的外來鍵約束 在pl/sql developer下執行如下語句:SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_c

Oracle,如何刪除一個使用者所有

你需要建立這些刪除語句,通過oracle的資料字典找到該使用者下的所有表、檢視等物件,拼接成語句。如下 select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; --delete

python實現批量刪除某個路徑所有的某種檔案

引言:下面是以前寫的批量刪除某資料夾及其子資料夾下的.pyc檔案,可參照下實現批量刪除別的型別的檔案。用的是python2.7 #coding=utf-8 import os def r

MYSQL 某個資料庫所有的 批量刪除語句

select concat('drop table ',table_name,';') from information_schema.TABLES where table_schema='test';

windows使用命令列快速刪除當前目錄所有指定字尾的檔案

windows的cmd命令有個del命令,可以快速地刪除所有指定檔案。 例如現在用vs2010工作路徑下的資料夾,需要刪除一些無用的檔案如.sdf、.suo、.log等結尾的無用檔案刪除。可以編寫如

mysql統計庫所有資料行數

一、執行下面sql select concat( 'select "', TABLE_name, '", count(*) from ', TABLE_SCHEMA, '.', TABLE_name, ' union all') from information_schema.tableswhere TAB

SQL Server清空庫所有資料

第一步:“新建查詢”-》建立儲存過程 如下: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEa

Oracle刪除某個使用者所有資料

//刪除表空間 DROP TABLESPACE tablespacename INCLUDING CONTENTS AND DATAFILES; //刪除使用者 drop user username cascade;

Oracle查看某個用戶所有的記錄總數和所有的字段總數、記錄數

sele user details oracl sys where col 字段 rac https://blog.csdn.net/zhihaoma/article/details/78607368 如我想查看用戶M下的所有表的總記錄數: SELECT SUM(num_

Centos查詢並替換某個目錄所有檔案某個字串

查詢目錄下包含某個字串的檔案 例:查詢 dir 目錄下所有包含 str 的檔案。 grep -lr 'str' dir vim替換單個檔案中所有字串方法 例:替換當前檔案中所有 old 為 new :%s/old/new/g 替換目錄下所有檔案中到某

linux的一個find命令rm刪除某目錄所有子目錄 的某類檔案

                一前言當前目錄下含有許多的子目錄 ,子目錄 下又包含不定深度的子目錄 。所有子目錄 中都有一個檔案test.file,需要對所有的test.file檔案予以刪除二解決方案  使用find命令   將當前目錄下所有test.file檔案刪除  find .  -name "tes

reids刪除某個字首的所有key

需求:reids中刪除某個字首的所有key 說明:程式碼中的0:2標識從key字首中擷取前2個字元,這裡示例的時候比如“b_”字首,使用時候根據實際情況擷取對應的長度進行判斷即可。 生成測試資料 #!/bin/bash ID=1 while(($ID<10001)) do redis-c

Oracle 匯入資料庫 刪除使用者、刪除空間、刪除空間所有,檢視當前空間

匯入資料庫 在cmd下用 imp匯入  格式: imp userName/passWord file=bmp檔案路徑 ignore = y (忽略建立錯誤)full=y(匯入檔案中全部內容); 例: imp DISASTERV2/DISASTERV2 file=C:\Use

Java-讀取某個目錄所有檔案、資料夾和3種從檔案路徑獲取檔名的方法

1 讀取某個目錄下所有檔案、資料夾 public static ArrayList<String> getFiles(String path) { ArrayList<Str

QT 刪除某個目錄所有檔案

刪除某個目錄下的所有檔案 QDir d(pa+"/tmp"); d.setFilter(QDir::Files); int i,j=d.count()-1; for (i=0;i<=j;i++) d.remove(d[i]);

獲取資料庫包含某個關鍵詞的所有名(Sqlserver、MySQL、Oracle

1.sqlserver select name as table_name from sys.objects where type='U' and name like '%關鍵詞%' 2.mysql S

linux刪除某個目錄大量文件辦法

時間 垃圾 spa delete lam lamp session nohup 具體步驟 在lamp架構裏,因為設置session 超時時間為一天,所以遇到php產生的session大量存在/data/tmp目錄下,數量大概有200萬,並且不能及時回收。使用 rm

爬取知乎某個問題所有的圖片

user count view default os.chdir make selenium pytho use 最近在逛知乎時,看到這麽一個問題 最高贊的答案寫了個爬蟲,把所有的照片都爬下來了。 嘿嘿嘿,技術的力量 正好自己也在學習,加上答主的答案是很久之前的,知乎

在HDFS上刪除某個路徑特定類型的文件,比如class類型文件,比如txt類型文件

繼續 是否 rop 後綴 api tst exc star ret 1、先獲取連接: public class Utils { public static FileSystem HDFS() throws Exception{

Python 讀取某個目錄所有的檔案 -- untested

# coding=utf-8 #Python 讀取某個目錄下所有的檔案例項 import os import os.path import re import sys import codecs reload(sys) sys.setdefaultencoding('utf-8') path