declare @t varchar(255) 
EXEC sp_executesql N'set @t=''gg''',N'@t varchar(255) output',@t output
select @t

解决方案 »

  1.   

    能在()里面得出@t的结果吗?其实我就是想在exec()里面得到@t的结果,然后在外面根据@t的值来进行其他的操作。
      

  2.   


    exec('declare @t varchar(255)  set @t='+'''gg'''+'select @t') 
      

  3.   

    declare @a varchar
    exec @a=存儲過程名 ' 參數' ---帶return或output型
    print @a
    -----------------------

    declare @a varchar(20)exec 存儲過程名 '參數',@a output---裡面帶output型
    print
      

  4.   

    想你給得例子隻要這樣改就行了declare @a varchar(255)
    exec('declare @t varchar(255) out
    set @t='gg''),@a output
    print @a
      

  5.   

    declare @table_exist varchar(255),@sql nvarchar(4000),@DB_NAME varchar(100)
    set @DB_NAME='test'
    set @sql='IF EXISTS(SELECT * FROM ['+@DB_NAME+']..SYSOBJECTS WHERE XTYPE=''U'' AND NAME=''TB_BK_WAFER'') 
    set @table_exist=''Y''
    else
    set @table_exist=''N''
    '
    EXEC sp_executesql @sql,N'@table_exist varchar(255) output',@table_exist output
    print @table_exist
      

  6.   

    declare @a varchar(255)
    exec('declare @t varchar(255) out set @t='gg''),@a outputprint @a