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