IT虾米网

Sybase:循环调用存储过程详解

developer 2019年07月17日 数据库 4517 0

Sybase:循环调用存储过程

一、日期循环

declare @c_count int 
declare @rq int 
select @c_count=0  
--获取两个日期之间的天数 
select DateDiff(day,20170101,getdate()) 
while @c_count<=541 
    begin 
        select convert(numeric(8,0),CONVERT(varchar(8),dateadd(dd,@c_count,20170101),112)) into @rq 
        exec DBA.P_PROESS(@rq) 
        select @c_count= @c_count +1 
    end

二、游标循环

    declare @c_orgname  varchar(50); 
    declare @c_pk_deptdoc varchar(20); 
 
    declare c_zborg  dynamic scroll  cursor   
    for select a.orgname,a.pk_deptdoc from table1; 
 
    -- 打开游标   
    open c_zborg with hold;  
    fetch  next c_zborg into  @c_orgname, @c_pk_deptdoc;   
    -- 循环所有行  
    while @@SQLSTATUS = 0 loop 
        insert into dba.table2(orgname,pk_deptdoc) values(@c_orgname,@c_pk_deptdoc); 
    fetch  next c_zborg into @c_orgname, @c_pk_deptdoc; 
    end loop; 
    -- 关闭游标   
    close c_zborg; 
    --释放资源 
    deallocate cursor c_zborg; 
    --end

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Python3.x:定时自动发送邮件详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。