存储过程动态组建查询where语句
存储过程动态组建查询where语句,主要实现根据@company是否为空来动态添加查询条件
set ANSI_NULLS ON
set QUOTED_IDENTIFIER off
go
ALTER PROCEDURE [dbo].[bus_modify_incheck1]
@startIndex INT,
@pageSize INT,
@modify_status nvarchar(20),
@company nvarchar(20),
AS
declare @sql nvarchar(2000)
set @sql="with orderList as(SELECT ROW_NUMBER() OVER (ORDER BY 维修编号 DESC)AS Rownum,维修编号,车辆编号,username_jcjyy,保修分厂,进厂时间,
修理状态,报修人姓名 from web_车辆维修 where 修理状态='"+@modify_status+"' and isnull("+@company+",1=1))";
begin
exec @sql
--SELECT Rownum,*
--FROM orderList
--WHERE Rownum between @startIndex and @startIndex+@pageSize-1
end
在存储过程执行时,提示错误
在应使用条件的上下文(在 ')' 附近)中指定了非布尔类型的表达式。
谁帮我看看,谢谢