救急。。。。。oracle数据库truncate

努力学习请指教 2012-03-02 09:23:27
导入数据库用imp user/passward file=/home/oracle/backup.dmp full=y

但是导入之前我想把数据库所有表都给清空,truncate一个表可以truncate table table_name


总共有100多张表,我怎么一次把这100多张表一次都truncate了?????????

求sql语句







...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢大家的回复,灰常感谢!!!
cutebear2008 2012-03-02
  • 打赏
  • 举报
回复
你得用级联删除,删除主表的时候同时删除字表的数据!
yinan9 2012-03-02
  • 打赏
  • 举报
回复
表之间如有外键关联的话,必须主意清空的顺序
cutebear2008 2012-03-02
  • 打赏
  • 举报
回复
表与表之间应该有constrains的吧,删除表的时候要按主外键的顺序删除,不然报错!
[Quote=引用 1 楼 zftang 的回复:]
select 'truncate table '||table_name||';' from user_tables
-------
这样把所有的都打印出来执行
[/Quote]
  • 打赏
  • 举报
回复
select 'truncate table '||table_name||';' from user_tables


从user_tables表里找出table_name这一列,然后加个前缀truncate table,合并
这样就truncate了user_tables里的所有表的数据,


谢谢1楼啦!!!!!!!!
mingchaoyan 2012-03-02
  • 打赏
  • 举报
回复
你写个sql脚本,那里写上100个truncate
然后sqlplus下运行这个脚本就好了
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zftang 的回复:]
select 'truncate table '||table_name||';' from user_tables
-------
这样把所有的都打印出来执行
[/Quote]



本人菜鸟,,能否给我解释这个sql的意思,谢谢啦!!!
秋雨飘落 2012-03-02
  • 打赏
  • 举报
回复
select 'truncate table '||table_name||';' from user_tables
-------
这样把所有的都打印出来执行
南老頭 2012-03-02
  • 打赏
  • 举报
回复
还不如把表结构备份出来,然后drop掉库,重建算了, 反正客户端工具那么方便

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧