存储过程参数循环定义
以下是我定义的一个存储过程,如下,请较有一部分参数要循环定义怎么写(想实现一个类似 for i=1 to n 的功能)
CREATE PROC contract_test
@con_code nvarchar(50),
@con_title nvarchar(250),
@con_date datetime,
@con_a nvarchar(100),
@con_b nvarchar(100),
@corp_id int,
@con_money numeric(9),
--下面几个参数要循环定义
@pay_date1 datetime,
@pay_money1 numeric(9),
@payment_id1 int,
@i int
AS
BEGIN
insert into contract_info values(@con_code,@con_title,@con_date,@con_a,@con_b,@corp_id,@con_money)
Declare @contract_id numeric
declare @k tinyint
select @contract_id = max(con_id) from contract_info
set @k = 1
while @k <=@i
begin
if @pay_date<>''
insert into con_payment values(@contract_id,@pay_date,@pay_money,@payment_id,'1')
set @k=@k+1
end
END
GO
------解决方案--------------------给下面四个参数定义 个初值,当不输入时就是初值,
应该就不用循环了,那样很难弄
------解决方案--------------------搞不明白要干什么,可以在循环外定义,循环内重新赋值可改变值