一个使用游标的存储过程的实例
2006-11-15 10:24
561 查看
CREATE PROCEDURE Sp_SBUrge AS
--声明游标并从数据库中读取记录
declare myCur cursor for select sb_Code,phone from UserRegister
--打开游标
open myCur
--声明变量接收数据
declare @sb_Code varchar(50)
declare @phone varchar(50)
--游标前进一行
fetch next from myCur into @sb_Code,@phone
--如果游标没有到尾则循环读取数据
while @@fetch_status = 0
begin
--如果没有查找到当月的缴费记录则进行催缴
if not exists(select sb_Code,pay_Date from UserAccount where sb_Code = @sb_Code and convert(varchar(7),pay_Date,121) = convert(varchar(7),getdate(),121))
begin
insert into SmsSend(PhoneCode,SmsContent,IsSuccess) values (@phone,'您本月的社保费用尚未缴纳,请您尽快缴纳!','0')
end
--游标前进一行
--print @sb_Code
--print @phone
fetch next from myCur into @sb_Code,@phone
end
--关闭游标
close myCur
--释放与游标关联的所有内存,包括数据项、指示符变量和结构本身
deallocate myCur
GO
--声明游标并从数据库中读取记录
declare myCur cursor for select sb_Code,phone from UserRegister
--打开游标
open myCur
--声明变量接收数据
declare @sb_Code varchar(50)
declare @phone varchar(50)
--游标前进一行
fetch next from myCur into @sb_Code,@phone
--如果游标没有到尾则循环读取数据
while @@fetch_status = 0
begin
--如果没有查找到当月的缴费记录则进行催缴
if not exists(select sb_Code,pay_Date from UserAccount where sb_Code = @sb_Code and convert(varchar(7),pay_Date,121) = convert(varchar(7),getdate(),121))
begin
insert into SmsSend(PhoneCode,SmsContent,IsSuccess) values (@phone,'您本月的社保费用尚未缴纳,请您尽快缴纳!','0')
end
--游标前进一行
--print @sb_Code
--print @phone
fetch next from myCur into @sb_Code,@phone
end
--关闭游标
close myCur
--释放与游标关联的所有内存,包括数据项、指示符变量和结构本身
deallocate myCur
GO
相关文章推荐
- mysql 存储过程使用游标实例
- Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
- 如何删除一个表中重复的记录? 、、游标,存储过程的使用
- mysql存储过程和游标使用实例
- MYSQL存储过程中使用游标的实例
- mysql存储过程中使用游标的实例
- 关于MSSQL存储过程中使用游标的一个小例子(学习)
- [JAVA]使用Eclipse从下载到编写一个实例全过程
- 使用CodeSmith为一个ORACLE中的表生成存储过程失败
- oracle存储过程:游标使用,多重游标
- Mysql存储过程中游标的用法实例
- SQL Server学习:存储过程中Cursor(游标)的使用
- Mysql存储过程优化——使用临时表代替游标
- 一个简明的ERP存储过程实例
- sql plus创建一个简单的存储过程实例
- PLSQL游标的使用_存储过程
- 存储过程中使用事务Transaction实例
- 使用游标在存储过程中循环遍历数据
- oracle中存储 过程嵌套游标的使用
- 存储过程中使用游标(在存储过程中遍历表)<sql>