SELECT @SQL = 'SELECT FIELD1,field2 FROM '+@TABLE
EXEC (@SQL)如何获得 FIELD1,field2 呢?

解决方案 »

  1.   

    用一个临时表来过渡一下:
    declare @sql varchar(1000)
    set @sql='select count(*) as ct into #temptable from'+@table
    exec (@sql)
    select * from #temptable
    不知道可否?
      

  2.   

    你用的是什么数据库? 如果是SQL SERVER 可以用存储过程
      

  3.   

    昨天我問了按鈕JJ一個類似的問題,後來又查了一下資料,大體上知道了一點。可以用SP_ExecuteSql來獲得Exec里的變量。Declare @Ret_cnt int
    Declare @Define NVarchar(200)
    Declare @SQL Nvarchar(300)Set @Define=N'@cnt int OUTPUT '
    SET @SQL=N'Select @cnt=COUNT(*) From tblStock  '
    Exec sp_ExecuteSQL @SQL,@Define,@cnt=@Ret_Cnt OUTPUT
    Select @Ret_Cnt
    更多的幫助可以到以下站點去找。
    http://support.microsoft.com/directory/article.asp?ID=KB;EN-US;q262499
      

  4.   

    也可以这样:
    declare @SQL varchar(500)
    SELECT @SQL = 'declare @cnt int'
    SELECT @SQL = @SQL+'SELECT @cnt=count(*) FROM '+@TABLE
    EXEC (@SQL)
      

  5.   

    我自己发现的方法
    SELECT @SQL = 'SELECT count(*) FROM '+@TABLE
    EXEC (@SQL)
    SELECT @@IDENTITY比你们的简单!谢谢各位!给分