CREATE PROCEDURE PROC_SELECT_CommodityInfo
@ComNumber varchar(50) = null
AS
declare @selectstring varchar(100)
if(@ComNumber!='')
begin
set @selectstring=IsNull(' and c.Com_Number Like ''%'+@ComNumber+'%''','')
set @selectstring='select c.*,s.* from TB_CommodityInfo c,TB_ComSort s where c.Com_Sort=s.S_ID '+@selectstring
end
else
begin
set @selectstring='select c.*,s.* from TB_CommodityInfo c,TB_ComSort s where c.Com_Sort=s.S_ID '
end
EXEC(@selectstring)
GO这是我写的一个存储过车,但是在进行模糊查询的时候会报一个like附近有语法错误,是怎么回事啊!!帮帮我啊!!
declare @selectstring varchar(100)
--改成
declare @selectstring varchar(8000)
100设的太小了
CREATE PROCEDURE PROC_SELECT_CommodityInfo
@ComNumber varchar(50)
AS
begin
declare @selectstring varchar(100)
if @ComNumber!='' or @ComNumber is not null
begin
set @selectstring=IsNull(' and c.Com_Number Like ''%'+@ComNumber+'%''','')
set @selectstring='select c.*,s.* from TB_CommodityInfo c,TB_ComSort s where c.Com_Sort=s.S_ID '+@selectstring
end
else
begin
set @selectstring='select c.*,s.* from TB_CommodityInfo c,TB_ComSort s where c.Com_Sort=s.S_ID '
end
EXEC(@selectstring)
end