Execute('select @a=sum(num)from orderproduct'+@b+' where lotno='''+@c+'''')

解决方案 »

  1.   

    declare @a money
    declare @b varchar(3)
    declare @c varchar(7),@sql nvarchar(4000)
    set @b='307'
    set @c='3073063'
    set @sql=N'select @a=sum(num) from orderproduct'+@b+' where lotno='''+@c+''''exec sp_executesql @sql,N'@a int output',@a output....
      

  2.   

    declare @a money
    declare @b varchar(3)
    declare @c varchar(7)
    set @b='307'
    set @c='3073063'
    declare @sql nvarchar(4000)  --注意一定要是unicode变量
    set @sql='select @a=sum(num)from orderproduct'+@b+' where lotno='''+@c+''''
    exec sp_executesql @sql,'@a money output',@a out  --改用动态参数传递的执行方法
    if (@a > 100) begin
    ...
    end