首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程不定参数有关问题

2013-06-25 
存储过程不定参数问题我在存储过程中需要用到一个查询:select …… from myTable where querytype in (1,2,4

存储过程不定参数问题
我在存储过程中需要用到一个查询:

select …… from myTable where querytype in (1,2,4,6,7……)

而对于 条件( 1,2,4,6,7……) 是需要我传进去的不定参数(int型), 这个条件我该如何传递?存储过程内部查询该如何写?


谢谢各位!
[解决办法]
将这个'1,2,4,6,7…,'作为字符串传进去喽,当然。。。。
在存储过程里
declare @sql varchar(max)

set  @sql ='select …… from myTable where querytype in '+@参数

exec(@sql)

还是很简单的


[解决办法]
最简单的方法


DECLARE @ids VARCHAR(100)
SET @ids='1,2,4,6,7'

DECLARE @sql VARCHAR(1000)

SET @sql='select * from myTable where querytype in ('''+@ids+''')'
EXEC(@sql)
[解决办法]
假设( 1,2,4,6,7……)是存在MyType表里,查询Type的语句是(select querytype from MyType where field1=@查询Type的条件)。那么,


select t1.* from myTable t1 join (select querytype from MyType where field1=@查询Type的条件) as t2 on t1.querytype =t2.querytype

热点排行