存储过程参数个数怎么动态化?
如:物料表(编号,名称,类别)当然,很多,这列出几个。
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个字段。。
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个字段。。
...全文
相关推荐
Sql Server 存储过程调用存储过程接收输出参数返回值
本篇文章将详细讲解如何在SQL Server中调用一个存储过程并接收输出参数以及返回值。首先,我们来看如何创建一个带有输出参数的存储过程。
java调用存储过程(含out参数)
首先,理解存储过程的概念。存储过程是预编译的SQL语句集合,存储在数据库服务器中,可以接受输入参数、输出参数,甚至同时具有两者。
mysql 存储过程输入输出参数示例
在存储过程中,我们可以定义输入参数、输出参数,甚至输入/输出参数,以传递数据并返回结果。输入参数(IN参数)是在调用存储过程时传递给它的值,这些值只能被存储过程内部使用,不能被修改并返回到调用者。
详解MySql存储过程参数的入门使用
"MySQL存储过程参数使用详解,包括IN、OUT参数的定义与应用,以及DECLARE创建局部变量的方法。"在MySQL数据库中,存储过程是一种预编译的SQL语句集合,它可以接受输入参数(IN参数
Mybatis传list参数调用oracle存储过程的解决方法
但是,如何将List类型参数传递给Oracle存储过程,实现批量插入数据却是一个棘手的问题,本文将给大家介绍Mybatis传List参数调用Oracle存储过程的解决方法。


