日期:2014-05-17  浏览次数:20521 次

存储过程提示 消息 102,级别 15,状态 1,Incorrect syntax near '@sql'.
create proc VS
as 
begin
declare @sql nvarchar(max)
declare @Site nvarchar(50)
declare @pono nvarchar(300)
declare @applier nvarchar(max)
declare @number nvarchar(300)
declare @state nvarchar(50)
declare  @person nvarchar(100)
   if (len(@Site)=0)
   begin
   @sql+=@Site //提示这一行有误
   end
   if(len(@pono)=0 )
   begin
   @sql+=@pono  //提示这一行有误

   end
   if(len(@applier)=0 )
   begin
   @sql+=@applier //提示这一行有误

   end
   if(len(@number)=0 )
   begin
   @sql+=@number  //提示这一行有误

   end
   if(len(@state)=0)
   begin
     @sql+=@state  //提示这一行有误

    
   end
   if(len(@person)=0)
   begin
   
    @sql+=@person //提示这一行有误

   end

不知道是何原因啊,求教。

------解决方案--------------------
先改你其中一个地方,占这位置


 if (len(@Site)=0)
    begin
set @sql=@Site+@sql
end