create procedure ys_search_getProctPrice
(
@factoryName varchar(50),
@Name varchar(50),
@typeName varchar(50),
@material varchar(50),
@shape varchar(50),
@spec varchar(50),
@weight varchar(50)
)
as
declare @sql varchar(4000)
declare @Allsql varchar(4000)
set @sql='select * from ys_view_getProctPrice where (1=1) and'if(@factoryName <> '') set @Allsql = @sql + 'factoryName like ''%'+@factoryName+ '%'''if(@Name <> '') set @Allsql = @sql + 'name like ''%'+@Name+ '%'''if(@typeName <> '')

set @Allsql = @sql + 'typename like ''%'+@typeName+ '%'''if(@material <> '') set @Allsql = @sql + 'material like ''%'+@material+ '%'''if(@shape <> '')

set @Allsql = @sql + 'shape like ''%'+@shape+ '%'''if(@spec <> '')

set @Allsql = @sql + 'spec like ''%'+@spec+ '%'''if(@weight <> '')

set @Allsql = @sql + 'spec = '+@spec+ ''exec sp_executesql @Allsql
print @Allsql但我执行exec ys_search_getProctPrice '杭州','','','','','',''语句的时候会出现下面错误。。怎么回事??我以前都没出现这样问题。。兄弟姐妹们帮帮呀消息 214,级别 16,状态 2,过程 sp_executesql,第 1 行
过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。