【发布时间】:2014-07-08 08:36:43
【问题描述】:
我在更新表格(比如 TableA)时遇到了困难。 目前我正在使用 2 个循环。
1st Loop is based on the data from temp table named : ##tempTableB
2nd Loop is based on the data from temp table named : ##tempTableC.
如何使用这样的脚本示例更新 TableA。
declare @amount money;
declare @i int =1;
declare @total int;
declare @j int = 1;
declare @total2 int;
declare @numberid nvarchar(14);
declare @num int;
declare @principal money;
declare @margin money;
declare @insurance money;
select @numberid=numberid,@amount=amount from ##temptableB
set @total = @rowcount; -- 48 rows result
while @i <= @total
begin
select @num=num,
@principal=principal,
@margin=margin,
@insurance=insurance from ##tempTableC
set @total2 = @rowcount;-- 48 rows result
while @j <=total2
begin
update tableA set
payedprincipal=@principal,payed_margin=@margin,payed_insurance=@insurance`
where numberid=@numberid
set @j=@j+1
end
set @i=@i+1
end
【问题讨论】:
-
您知道@numberid 只是来自##temptableB 的一条随机记录吗?您是否知道您可以在一个不带循环的单个
UPDATE语句中根据其他表中的多条记录在一个表中UPDATE多条记录?