我想創建一個存儲過程,需要一個簡單的SELECT語句並返回結果集爲CSV字符串。所以基本的想法是從用戶輸入中獲取sql語句,使用EXEC(@stmt)運行它並使用遊標將結果集轉換爲文本。然而,由於SQLServer的不允許:如何創建一個UDF,需要一個查詢字符串,並返回查詢的結果集
- SELECT * FROM StoredProcedure的(@sqlStmt)
- UDF與EXEC(@sqlStmt)
所以我試圖插入到#tempTable EXEC(@sqlStmt ),但這不起作用(error =「invalid object name #tempTable」)。
我卡住了。你能否介紹一下這件事?
非常感謝
編輯:
其實輸出(如CSV字符串)並不重要。問題是我不知道如何將遊標賦值給由EXEC返回的結果集。 SP和UDF在創建臨時表時無法與Exec()一起使用,因爲在不知道輸入語句的情況下插入值是不可能的。
我想到OPENQUERY,但它不接受變量作爲參數。
「如何跑步」 - 站起來快速行走。繼續提高速度,你很快就會發現自己在跑步!提示:下次選擇更好的標題! – Cerebrus 2009-04-24 16:51:00