declare @str Nvarchar(100),@Q varchar(100)
set @str='select '+@Q+'=empco from Employees' 
exec sp_executesql @str,N'@Q varchar(100) output',@Q varchar(100) output
print @Q

解决方案 »

  1.   

    上面错了
    declare @str Nvarchar(100),@Q varchar(100)
    set @str='select @Q=empco from Employees' 
    exec sp_executesql @str,N'@Q varchar(100) output',@Q varchar(100) output
    print @Q
      

  2.   

    不行啊。把你COPY过去:服务器: 消息 170,级别 15,状态 1,行 3
    第 3 行: 'varchar' 附近有语法错误。
    请问一下,这个东东是做什么的?sp_executesql
      

  3.   

    噢,刚才没认真了!这样:
    declare @str Nvarchar(100),@Q varchar(100)
    set @str='select @Q=empco from Employees' 
    exec sp_executesql @str,N'@Q varchar(100) output',@Q output
    print @Q
      

  4.   

    declare @sql nvarchar(1000),@para nvarchar(100)
    declare @re varchar(100) select @sql='select @q=empco from employess'
    select @para='@q varchar(100) output'
    exec sp_executesql @sql,@para,@re output
    print @re