2 a916879788 a916879788 于 2014.08.04 19:24 提问

请问存储过程里面如何循环传参,用临时表吗??

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
end

if @@error<>0 --判断如果两条语句有任何一条出现错误
begin rollback tran --开始执行事务的回滚,恢复的转账开始之前状态
return 0
end
else

begin commit tran --执行这个事务的操作
return 1
end

本人新手,如果用临时表的话,请写清楚点。谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!