sql server 存储过程传参问题. 一个参数如何可以输入多个参数值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 存储过程传参问题. 一个参数如何可以输入多个参数值相关的知识,希望对你有一定的参考价值。
create proc test(
@部门编码 as varchar(50)
)
as
select 部门编码, 费用
from temp_test t
where t.财务编码 like @部门编码 +'%';
exec test '01';
------------------------上面的是输入 01那么就自动匹配01下所有的费用.-----
我想要得就是 输入 01,02 时都能匹配下面所有的.
如:
exec test '01,02' 得住是 01和02 的费用
自己解决了
sql server 2008之后,可以使用表变量,传给存储过程。 参考技术A like %就包含in了,不过你的需求很麻烦,最好你直接把参数写成正则,如
exec test '0[12]'
这样执行相当与like '01%' or like '02%' 参考技术B create proc test(
@部门编码 1 varchar(50)
@部门编码 2 varchar(50)
)
as
select 部门编码, 费用
from temp_test t
where t.财务编码 like @部门编码1 +'%' and @部门编码2+'%';
这个意思吗?本回答被提问者采纳
sql server 中 一个要输入参数和输出参数的存储过程。
参考技术A1、创建存储过程,包含入参、出参,返回入参除以的数据;
create or replace procedure test_proc(in_num number, out_num out number)
as
begin
out_num := in_num/2;
end;
2、调用该函数,进行测试;入参为10,可以发现返回值是5;
3、编写sql语句块,在语句块中调用存储过程;
declare
v1 number;
v2 number;
begin
test_proc(12, v2);
dbms_output.put_line(v2);
end;
4、执行该脚本,可以发现返回值为12/2=6;
以上是关于sql server 存储过程传参问题. 一个参数如何可以输入多个参数值的主要内容,如果未能解决你的问题,请参考以下文章
Azure sql database 监控存储过程的传参情况