我写的第一个带游标的oracle存储过程

自己刚毕业半年,水平低下,最近几天由于工作需要,要求写个删除垃圾数据的存储过程,可我之前哪儿接触过这玩意儿啊。

于是硬着头皮找资料,网上的资料狂多,可都不切实际,并没有给自己带来多大的帮助,后来看看公司前人写的存储过程,
终于完成了。考虑到要删除的表名都以zy_开头,于是考虑到游标
打开PL/SQL的new->program window->procedure 新建一个存储过程PMOS.DeleteXCWL
以下是代码(无输入输出)
 
 
--  head area 
create   or   replace   procedure  PMOS.DeleteXCWL 
--  declare area ,all variable declared  here
is
--  save tableName
  tablename  varchar2 ( 100 );
--  save delete sql statement
  delString  varchar2 ( 100 );
--  define a cursor
    cursor  mycursor  is
            
select  a. object_name  
                    
from  user_objects a 
                    
where  a. object_name   like   ' ZY_XCWL% '   and  a.object_type  =   ' TABLE ' ;
     
--  delete from table where name of table like 'ZY_XCWL'
begin
    
open  mycursor;
          loop
            
fetch  mycursor  into  tablename;
            
exit   when  mycursor % notfound;
            delString:
= ' delete from  ' || tablename;
            
execute  immediate delString ;
            
commit ;
          
end  loop;
 
close  mycursor;
end ;

这样,每次循环将表名存入tablename,然后拼接成delete from 的语句。

保存之后在PL/SQL的command window里面或者oracle的 sql plus里直接执行

SQL>exec PMOS.DeleteXCWL;

到此over。

我是一个新手,希望此文对和我一样的新手有帮助,同时希望各位高手加以指点,小弟感激不尽!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值