|
alter procedure sp_tt as
begin
declare @date datetime,@remark nvarchar(26),@pay_t int,@sum_pay_t int,@sum_pay int,@fs int
set @fs= 1
select @sum_pay= sum(pay) from ta
if @sum_pay is null begin
set @sum_pay = 0
end
create table #tc (date Datetime,remark nvarchar(26),pay int,pay_t int)
insert into #tc(date,remark,pay,pay_t)
select date,remark,pay,pay_t from ta
declare tc_cursor cursor LOCAL STATIC FOR
select date,remark,pay_t from tb
open tc_cursor
fetch tc_cursor into @date,@remark,@pay_t
while @@fetch_status=0 begin
if @pay_t <= @sum_pay begin
set @sum_pay = @sum_pay - @pay_t
end
else begin
set @sum_pay_t = @pay_t - @sum_pay
if @fs <> 0 begin
insert into #tc (date,remark,pay,pay_t)
values(@date,@remark,0,@sum_pay_t)
set @fs = 0
end
else begin
insert into #tc (date,remark,pay,pay_t)
values(@date,@remark,0,@pay_t)
end
end
fetch tc_cursor into @date,@remark,@pay_t
end
close tc_cursor
deallocate tc_cursor
select * from #tc
end
上次我将A表的记录插入到临时表的那个insert语句去掉了,加上去就行了。
|
|