存储过程参数个数怎么动态化?
如:物料表(编号,名称,类别)当然,很多,这列出几个。
alter proc [dbo].[select_wl]
@bh varchar(6)=null,
@mc varchar(40)=null,
@lb varchar(20)=null
as
begin
declare @set varchar(8000)
set @set=null
if @mc is not null set @set=isnull(@set+',','') + '名称=''' + @mc +''''
if @lb is not null set @set=isnull(@set+',','') + '类别=''' + @lb +''''
if @set is not null set @set='update 物料表 set ' + @set + ' where 编号=''' + @bh +''''
select @set
exec(@set)
end
参数固定,我就指定怎么调用,但参数不固定时,怎么调用
--固定参数
declare @bh varchar(6),@mc varchar(40),@lb varchar(20)
set @bh='A00001'
set @mc='49寸大电视'
set @lb='家电'
exec select_wl @bh,@mc,@lb
--那不固定参数时,怎么调用?比如我只更新 “类别",当然,实际上可能是10个字段。。