日期:2014-05-18  浏览次数:20447 次

极度求救,谢谢大家
create   proc   YSJ_querystock
  (
--@stocktime   datetime
@stockcode   varchar(20)= '20070116kc ',
@tradecode   varchar(20)=NULL,
@tradename   varchar(50)=NULL,
@tradeclass   varchar(20)=NULL,
@number         int=1,
@handle         varchar(10)=null,
                @summary       varchar(100)=NULL
  )
as
declare   @chvQuery   varchar(8000),
@chvWhere   varchar(8000)
select     @chvQuery= 'select   *   from   YSJ_stock ',
@chvWhere= ' '
--begin   if
if   @stockcode   is   not   null
begin
        set   @chvWhere=@chvWhere+ '   stockcode= " '+@stockcode+ ' " '--怎么写
end
PRINT   @chvQuery
exec   (@chvQuery)
开始弄才用多条件查询的存储过程,上面的存储过程我用打印语句打印了下
select   *   from   YSJ_stock   where   stockcode= "20070116kc "
出现错误,字符那里成了双引号,请问@chvwhere那条要怎么写,谢谢

------解决方案--------------------
set @chvWhere=@chvWhere+ ' stockcode= ' ' '+@stockcode+ ' ' ' '--这样写

------解决方案--------------------
set @chvWhere=@chvWhere+ ' stockcode= ' ' '+@stockcode+ ' ' ' '--两个单引号代表一个单引号