plsql批量删除表中数据

plsql批量删除表中数据,第1张

首先,在电脑中找到PLSQL Developer;

请点击输入图片描述

2

双击打开PLSQL Developer,账号登录;

请点击输入图片描述

登录之后,如下图所示

请点击输入图片描述

接下来,我们找到如图所示的位置,打开;

请点击输入图片描述

打开之后,如下图所示,我们找到“SQL 窗口”并打开;

请点击输入图片描述

打开之后,如下图所示,在空白处编写内容;

请点击输入图片描述

接下来,我们以删除“t_student”表中的内容为例,编写SQL语句,“delete from t_student”,如下图所示

请点击输入图片描述

编写完成之后,选中我们编写的内容,如图“1”所示,选中之后,单击图“2”,执行我们的SQL语句;

请点击输入图片描述

此时提示我们是否要删除记录,我们选择“是”;

请点击输入图片描述

接下来,点击“绿色小箭头”,提交事务;

请点击输入图片描述

点击“绿色小箭头”之后,会再次提示,我们选择“是”;

请点击输入图片描述

提交事务完成之后,如下图所示,提示“1行被删除”。

请点击输入图片描述

1、先查询本库所有表,本文以TEST开头表为例,select * from user_tables t where table_name like 'TEST%'

2、查询表的数量,select count(*) from user_tables t where table_name like 'TEST%'

3、编写删除表的sql脚本,

declare

v_sql varchar2(200)

v_cnt number(10)

begin

for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop

  v_sql := 'drop table '|| v_tab.table_name

  execute immediate v_sql

end loop

end

4、再次查看TEST开头的表,select * from user_tables t where table_name like 'TEST%',已无记录,

创建个存储过程来执行啦

在plsql中把以下代码复制粘贴,并运行

create or replace PROCEDURE SP_DROPTABLE

(v_begintime in varchar2,

v_endtime in varchar2)

as

v_tablename varchar2(256)

cursor cur_tablename is

select object_name from user_objects where object_type='TABLE' and to_char(CREATED,'yyyy-mm-dd')

between v_begintime

and v_endtime order by CREATED desc

begin

open cur_tablename

loop

fetch cur_tablename into v_tablename

exit when cur_tablename%notfound

execute immediate 'drop table '||v_tablename||''

end loop

close cur_tablename

end sp_droptable

然后,另开一个sql窗口,执行

 begin

SP_DROPTABLE('1900-01-01','2013-12-31')

end

如有问题,请查看浏览器右上角处


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9765781.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存