declare @id int
declare @date datetime
declare @save numeric(15,7)
declare @rate numeric(15,7)select @date = convert(varchar(10),getdate(),120)
select @rate = time_deposit from time_deposit_rate where state = 1
print @rate--定义游标
declare id_cursor insensitive cursor forselect id from time_deposit_record where one_year = @date
open id_cursor
fetch next from id_cursor
while @@fetch_status = 0
Beginselect @save = isnull(w_save*@rate*365,0)+w_save from time_deposit_record where id =@id
insert into test (w_save,out) values (@save,@id)
fetch next from id_cursor into @idend
close id_cursor
deallocate id_cursor数据表time_deposit_record 中有三条记录是满足条件的,插入test的时候插入的是3条,但是有两条记录是重复的,
总是time_deposit_record 表中的第一条语句插不进,为什么?
fetch next 放在前面会产生一条空记录
declare @date datetime
declare @save numeric(15,7)
declare @rate numeric(15,7)select @date = convert(varchar(10),getdate(),120)
select @rate = time_deposit from time_deposit_rate where state = 1
print @rate--定义游标
declare id_cursor insensitive cursor forselect id from time_deposit_record where one_year = @date
open id_cursor
fetch next from id_cursor
while @@fetch_status = 0
Beginselect @save = isnull(w_save*@rate*365,0)+w_save from time_deposit_record where id =@id
insert into test (w_save,out) values (@save,@id)
fetch next from id_cursor into @idend
close id_cursor
deallocate id_cursor数据表time_deposit_record 中有三条记录是满足条件的,插入test的时候插入的是3条,但是有两条记录是重复的,
总是time_deposit_record 表中的第一条语句插不进,为什么?
fetch next 放在前面会产生一条空记录
while @@fetch_status = 0
Begin
select @save = isnull(w_save*@rate*365,0)+w_save from time_deposit_record where id =@id
insert into test (w_save,out) values (@save,@id)
fetch next from id_cursor into @id
end
while @@fetch_status = 0
Begin
select @save = isnull(w_save*@rate*365,0)+w_save from time_deposit_record where id =@id
--第一次循环时@id没有被赋值