我需要一個存儲過程的輸出存儲在#table
的問題是我的程序的輸出是70場的表
因此,存儲在輸出之前,我不能創建#table的程序
,因爲它需要很大的努力。
我需要類似select * into #table from Table_Name
巫解決方案自動創建#table將存儲過程的輸出
將存儲過程的輸出
回答
我發現在以下鏈接解決方案:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=85347 因此,存儲存儲過程的輸出,我們需要使用OPENROWSET()
功能
但在使用它之前,我們必須enable show advanced options
和
Ad Hoc Distributed Queries
這裏解決方案:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE
GO
Select * into #temp
from OPENROWSET('SQLOLEDB','Data Source=Myserver;Trusted_Connection=yes;Integrated Security=SSPI', 'Execute DB_Name..Prc')
併爲各個參數,我可以將其添加爲字符串絲毫過程revoke語句來
'Execute DB_Name..Prc'
+ CAST(parameter1 AS varchar(50)) + .....
+ CAST(parameter(n) AS varchar(50))
存儲過程必須使用一些select * from ..
語句裏面產生這種輸出。你可以修改它,對吧?
是的,但這個過程需要一些參數 所以,輸出是不同的,每次我使用proc – Alaa 2011-04-09 07:46:30
我想你想要OPENROWSET。退房:http://msdn.microsoft.com/en-us/library/ms190312.aspx
請注意這些示例尚未經過測試。
--Example for master.dbo.sp_who
SELECT * INTO #TempSpWho
FROM OPENROWSET ('SQLOLEDB','Server=(local);
TRUSTED_CONNECTION=YES;',
'set fmtonly off exec master.dbo.sp_who')
此外,如果你有參數的SP,您將需要編寫動態SQL:
DECLARE @testVariable varchar(10);
SET @testVariable = 'varTest';
EXEC('SELECT * INTO #TempSpWho
FROM
OPENROWSET(
''SQLNCLI'',
''Database=dbIDsAndNames;Uid=sa;Pwd=nosecurity;'',
''SET FMTONLY OFF
EXEC [dbo].[mySproc] ''' + @testVariable + ''')')
來源:http://www.dotnetspider.com/forum/163990-Working-with-Openrowset.aspx
注意:上面的例子都不是我最初創建的,所以信用就是這樣o如果你的工作來源。
如果手動建立臨時表(即在所有70個行不感興趣。),這將是方法:
CREATE TABLE #foo(
[bar] int,
baz varchar(123)
)
insert into #foo exec spDoSomething
select * from #foo
drop table #foo
沒問題;很高興你明白了。 – Gibron 2011-04-09 16:55:11
- 1. 如何將存儲過程的輸出存儲到磁盤上
- 2. 存儲過程不給出輸出
- 3. PHP返回存儲過程的輸出
- 4. INSERT INTO的輸出存儲過程
- 5. 存儲過程的輸出參數
- 6. 調用帶輸出的存儲過程
- 7. MySQL的存儲過程:輸出參數
- 8. 將存儲過程輸出參數轉儲到DataGridView行中
- 9. SQL Server存儲過程參數輸出
- 10. 使用存儲過程輸出參數
- 11. 控制存儲過程輸出
- 12. 執行存儲過程輸出腳本
- 13. ADO.Net和存儲過程輸出參數
- 14. mysql存儲過程輸出多列
- 15. 存儲過程有輸出值
- 16. 德爾福存儲過程輸出
- 17. 存儲過程輸出變量
- 18. 存儲過程不輸出結果
- 19. 存儲過程輸出錯誤
- 20. 返回存儲過程的輸出參數另一個存儲過程
- 21. 存儲過程輸出基於輸出(BASH)
- 22. 在db2存儲過程中將會話表輸出作爲輸出參數
- 23. 存儲過程,將輸出分組到一個新列
- 24. 傳輸存儲過程
- 25. 存儲過程CSV輸入
- 26. 存儲過程的輸出參數通過iBATIS的
- 27. 確定存儲過程中的輸入和輸出參數
- 28. 如何在存儲過程中輸出我的輸入類型
- 29. 存儲過程的sys_refcursor輸出是否被緩存?
- 30. Mysql存儲過程導出
不要怕我的朋友,我們得到的答案 – Alaa 2011-04-09 08:57:19
或許這能夠幫助http://stackoverflow.com/questions/3829201/sql-select-print-out-results-of-stored-procedue – adopilot 2011-04-09 17:04:23