Oracle中快速删去某个用户下的一切表数据ITeye - 娱乐之横扫全球

Oracle中快速删去某个用户下的一切表数据ITeye

2019年03月20日15时34分16秒 | 作者: 运锋 | 标签: 句子,用户,删去 | 浏览: 1373


在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;

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章