Sybase:循环调用存储过程
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