declare @name varchar(20)select @name=Name from [admin] where id=1

解决方案 »

  1.   

    exec 括号里面的是拼接的sql。
      

  2.   

    create table #admin(id int,name varchar(50))
    insert into #admin
    select 1,'admin' union all
    select 2,'aa'declare @name varchar(50)select @name=name from #admin where id=1select @name--------------------------------------------------
    admin(1 行受影响)直接复制不行吗??
      

  3.   

    exec 括号里面的是拼接的sql
      

  4.   


    declare @name varchar(20),@tsql nvarchar(4000)select @tsql=N'select @name=Name from admin where id=1'exec sp_executesql @tsql,N'@name varchar(20) output',@name=@name outputselect @name
      

  5.   

    这个建议用sp_executesql:declare @name nvarchar(20)exec sp_executesql N'select @name = Name from admin where id = @id',
                       N'@name varchar(20) output,@id int',
                       @name out,1
    select @name
      

  6.   


    DECLARE @ta TABLE (NAME varchar(50))
    DECLARE @NAME varchar(50)
    INSERT @ta EXEC('select Name from admin where id = 1')
    SELECT @NAME=NAME FROM @ta