//Select * from @name where ...
這樣寫當然是錯誤的﹐要用exec()//exec ('select * from '+@name+'where ...')可以执行成功,但是却无法获得记录集。因為@name得到的是几個表名的字段﹐產生了邊卡樂積﹐后面的條件的又是什么﹖可能是沒有滿足條件的記錄
這樣寫當然是錯誤的﹐要用exec()//exec ('select * from '+@name+'where ...')可以执行成功,但是却无法获得记录集。因為@name得到的是几個表名的字段﹐產生了邊卡樂積﹐后面的條件的又是什么﹖可能是沒有滿足條件的記錄
我取到的那些表都有相同的表结构,所以那么写的。使用 exec ('select * from '+ @name+' where...')来写可以执行成功的,但是这样可以返回记录集吗?如何得到呢?其实我创建的是一个返回记录集的函数
CREATE FUNCTION name (参数)
RETURNS @tmptablename TABLE
{
表结构
}
AS
BEGIN...
return
END所以,在函数内要将数据insert into 到 @tmptablename 中