问题描述
- 请问存储过程里面如何循环传参,用临时表吗??
-
ALTER proc [dbo].cunchu11,
@CGR nvarchar(30),
@CGRQ date,
@CGZE decimal(20,2),
@SH bit,
@SPBH nvarchar(20),
@SPLB nvarchar(20),
@SPMC nvarchar(20),
@SL int,
@DJ decimal(20,2),
@GYS nvarchar(20),
@SFJE decimal(20,2)
)
as
declare @i int
set XACT_ABORT on --只要是个错误就回滚
begin tran --开始执行事务insert into Procure values(@DJBH,@CGR,@CGRQ,@CGZE,@SH) --增加主表
set @i=0
while @i<10
begin
--我想循环传入这些参数@DJBH,@SPBH,@SPLB,@SPMC,@SL,@DJ,@GYS,@SFJE,每次数值都不一样,不知道怎么传,循环好使,就是不知道怎么把参数传过来,sql里面没有数组,别人说能用临时表传
insert into Procure_child values(@DJBH,@SPBH,@SPLB,@SPMC,@SL,@DJ,@GYS,@SFJE) --增加子表
set @i = @i+1
endif @@error<>0 --判断如果两条语句有任何一条出现错误
begin rollback tran --开始执行事务的回滚,恢复的转账开始之前状态
return 0
end
elsebegin commit tran --执行这个事务的操作
return 1
end本人新手,如果用临时表的话,请写清楚点。谢谢
时间: 2024-09-19 09:25:09