起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 91|回复: 0

[分享]删除系统自动备份表存储过程**

[复制链接]
发表于 2009-1-5 10:23:46 | 显示全部楼层 |阅读模式
create or replace function dropbacktable(VINPUT varchar2) return integer as
  Result    integer;
  mytable   varchar2(32);
  cursorsql varchar2(400);
  dropsql   varchar2(400);
  vcount    integer;
  type vcrusor is ref cursor;
  jbktable vcrusor;
begin
  cursorsql := 'select t.table_name from all_tables t where t.owner = ''' ||
               VINPUT ||
               ''' and substr(t.table_name, length(t.table_name), 1) in (''0'',''1'', ''2'', ''3'', ''4'', ''5'', ''6'', ''7'', ''8'', ''9'')';
  open jbktable for cursorsql;
  loop
    fetch jbktable
      into mytable;
    exit when jbktable%NOTFOUND;
    dropsql := 'drop table ' || mytable;
    vcount  := vcount + 1;
    execute immediate (dropsql);
  end loop;
  close jbktable;
  Result := vcount;
  return(Result);
end dropbacktable;


VINPUT传入需要清理的用户实例的名字,传入大写.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-29 03:21 , Processed in 0.038389 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表