//Select * from @name where ...
這樣寫當然是錯誤的﹐要用exec()//exec ('select * from '+@name+'where ...')可以执行成功,但是却无法获得记录集。因為@name得到的是几個表名的字段﹐產生了邊卡樂積﹐后面的條件的又是什么﹖可能是沒有滿足條件的記錄

解决方案 »

  1.   

    回hdhai9451(※★開拓者...前進☆※) 
    我取到的那些表都有相同的表结构,所以那么写的。使用 exec ('select * from '+ @name+' where...')来写可以执行成功的,但是这样可以返回记录集吗?如何得到呢?其实我创建的是一个返回记录集的函数
    CREATE FUNCTION name (参数) 
    RETURNS @tmptablename TABLE
    {
    表结构
    }
    AS
    BEGIN...
    return
    END所以,在函数内要将数据insert into 到 @tmptablename 中