declare @ClearSql nvarchar(2000)
declare @UserID int
set @UserID=11
set @ClearSql='box1=0,box2=0,box3=0'Exec('UPDATE [Box] set LastChangeTime=getdate(),ChangeTimes=ChangeTimes+1,'+  @ClearSql + '  Where   UserID= ' + cast(@UserID as varchar(100))
第 6 行: 'cast' 附近有语法错误。

解决方案 »

  1.   

    declare @ClearSql nvarchar(2000)
    declare @UserID int
    set @UserID=11
    set @ClearSql='box1=0,box2=0,box3=0'Exec('UPDATE [Box] set LastChangeTime=getdate(),ChangeTimes=ChangeTimes+1,'+  @ClearSql + '  Where  UserID= '''+@UserID+'''')
      

  2.   

    declare @ClearSql nvarchar(2000)
    declare @UserID int
    set @UserID=11
    set @ClearSql='box1=0,box2=0,box3=0'declare @sql nvarchar(2000)
    set @sql='UPDATE [Box] set LastChangeTime=getdate(),ChangeTimes=ChangeTimes+1,'+ @ClearSql+ ' Where UserID='+cast(@UserID as nvarchar)
    exec(@sql)