Welcome 微信登录

首页 / 数据库 / MySQL / 使用PL/SQL快速删除用户下的所有表数据

在Oracle中如果要删除用户的表数据有多种的方法,这里可推荐一种比较快速的方法,能够删除用户下的所有表数据,通过plsql这个语言就可以快速的删除,代码如下所示:declare
  cursor c_t is (select table_name from user_tables);--声明一个游标
  table_name user_tables.table_name%type;--声明一个表名的变量
begin
  open c_t;
  loop—循环
     fetch c_t into table_name;
     exit when c_t%notfound;
     execute immediate "delete from " || table_name;--动态sql删除
  end loop;
  close c_t;
end;在Oracle中,user_tables是一张字典表,存储了用户表的信息,我们通过游标可以获取到该字典表中存储的当前用户表的信息,然后循环删除每一张表里的数据。很简单的,这个在开发的过程中应该会经常遇到的。相关阅读:rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题 http://www.linuxidc.com/Linux/2013-07/87890.htmSQLPLUS spool 到动态日志文件名 http://www.linuxidc.com/Linux/2013-03/80988.htmOracle SQLPLUS提示符设置 http://www.linuxidc.com/Linux/2012-10/73326.htm通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度 http://www.linuxidc.com/Linux/2011-07/38711.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle Data Guard_ 主库添加或删除在线重做日志文件Oracle数据库中由于没有做任何约束,如何删掉表中重复的记录相关资讯      PL/SQL 
  • PL/SQL之存储过程和函数  (今 14:09)
  • PL/SQL Developer连接本地Oracle   (07月27日)
  • 【PL/SQL系列】Oracle存储过程使用  (04月23日)
  • PL/SQL Developer 使用技巧分享  (09月16日)
  • PL/SQL实现Java中的split()方法的  (07月10日)
  • 从一个案例看PL/SQL代码片的编译与  (03月04日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数