对于多条件查询的存储过程写法很多,但总体上就这样几种:最低级的写法是 declare @SQL varchar(1000)set @sql='select xx from table where ' +@xxexec (@sql)--或者CREATE PROC PORC_QUERY@WHERE VARCHAR(50)AS EXEC('SELECT * FROM TB WHERE '+@WHERE) 这样的在调用时候会存在一个问题,如果查询条件为空,可就出错了。所以有人使用下面的方式 create proc proc_c@var varchar(50)as begindeclare @sql v