如何删除某个用户的所有表的数据而保留表结构?

A:

表太多,一个一个清空太麻烦了,有没有简便的方法?

Q:

SQL> spool d:/delete.sql
SQL> select 'truncate table '||table_name ||';' from cat where table_type=upper('table');
SQL> spool off;
SQL> @d:/delete.sql  --通过@d:/delete.sql 命令,执行文本里的语句

注意:
一定要登陆到要清空的用户下
如:connect user/psw
最好先备份一下数据库。冷备份,或exp备份都可
因为truncate命令不能rollback;

在d:/下可以看到delete.sql文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章