• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 数据库中 drop table 与purge

mysql 搞代码 4年前 (2022-01-09) 36次浏览 已收录 0个评论

实际示例: CREATE OR REPLACE PROCEDURE pro_droptable IS cursor cur is select table_name from user_tables where tab

实际示例:

CREATE OR REPLACE PROCEDURE pro_droptable IS

cursor cur is

select table_name from user_tables where table_name like ‘TEMPTABLE%’;

drop_sql varchar2(1000);

table_number number;

BEGIN

SELECT COUNT(*) INTO table_number from USER_TABLES WHERE TABLE_NAME LIKE ‘TEM%’;

for tbname in cur loop

begin

if table_number < 50 then

exit;

end if;

drop_sql := ‘drop table ‘ || tbname.table_name || ‘purge’;

execute immediate drop_sql;

table_number := table_number – 1;

end;

end loop;

END pro_droptable;

解释:

drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,,回收站里的表信息就可以被恢复,或彻底清除。
1.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句
flashback table 本文来源gaodai#ma#com搞*代#码9网# to before drop [rename to ];
将回收站里的表恢复为原名称或指定新名称,表中数据不会丢失。
若要彻底删除表,则使用语句:drop table

purge;
2.清除回收站里的信息
清除指定表:purge table

;
清除当前用户的回收站:purge recyclebin;
清除所有用户的回收站:purge dba_recyclebin;


示例2:

CREATE OR REPLACE PROCEDURE pro_clean_recycle IS

–tmpVar NUMBER;

clean_recycle_sql varchar2(1000);

BEGIN

–purge recyclebin;

clean_recycle_sql :=’purge recyclebin’;

execute immediate clean_recycle_sql;

END pro_clean_recycle;

更多Oracle相关信息见Oracle 专题页面 ?tid=12


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 数据库中 drop table 与purge
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址