34,590
社区成员
发帖
与我相关
我的任务
分享
create procedure pro_name @par1 VARCHAR(N1), @par2 INT... @parN VARCHAR(N)
AS
BEGIN
DECLARE @S1 VARCHAR(4000)
--在将要执行的查询语句中,先加一个永真条件,这样:后面就可以接N多个参数了
SET @S1='SELECT * FROM TBName WHERE 1=1'
IF(ISNULL(@par1,'')<>'')
SET @S1=@S1+' AND col1 LIKE '''+@par1+'%'''
IF(ISNULL(@par2,0)<>0) --当然:定义的参数如果是整型的话,就用 0
SET @S1=@S1+' AND col2 ='''+@par2+''''
IF(...)
SET @S1=@S1+'...'
IF(ISNULL(@parN,'')<>'')
SET @S1=@S1+' AND colN = '''+@parN+''''
EXEC(@S1)
END