exec('select top 1 name into '+ @ne + 'from tperson order by personkey')

解决方案 »

  1.   

    呵呵.不可以。
    SQL这么写:begin tran
      declare @ne varchar(20)
      select top 1 @ne=name  from tperson order by personkey
    commit
      

  2.   

    exec('select top 1 name into '+ @ne + ' from tperson order by personkey')
      

  3.   

    begin tran
      declare @ne varchar(20)
      select top 1 @ne=name  from tperson order by personkey
    commit
    select @ne --查看结果
      

  4.   

    exec('select top 1 name into '+ @ne + 'from tperson order by personkey')
      

  5.   

    那为什么我用这个得到@ne的值是空的呢
    begin tran
    declare @ne varchar(20)
    declare @sql varchar(200)
    set @sql='select top 1 name into '+ @ne + ' from tperson order by personkey'
    exec(@sql)
    commit
    select @ne
      

  6.   

    楼主的意思是select一个列值到一个变量里?那就应该是declare @ne varchar(20)
    select top 1 @ne=name  from tperson order by personkey
    print @ne前面几位用exec动态sql是把结果生成在@ne的一个table里,需要先对@ne进行赋值
      

  7.   

    begin tran
      declare @ne table(name varchar(50))
      insert into @ne select top 1 name from tperson order by personkey 
    commit
      

  8.   

    回复人: jbas(jbas) ( ) 信誉:100  2004-12-30 09:36:00  得分: 0  
     
     
       thanks!
      
     
    搂住早就这么说了,估计不会揭帖!呵呵!
      

  9.   

    begin tran
      declare @ne varchar(20)
      select top 1 @ne=name  from tperson order by personkey
    commit
    我这样用了,谢谢了。