首頁 > 資料庫 > mysql教程 > 如何使用 OPENROWSET 將預存程序結果插入暫存表?

如何使用 OPENROWSET 將預存程序結果插入暫存表?

DDD
發布: 2025-01-25 02:46:09
原創
246 人瀏覽過

How to Insert Stored Procedure Results into a Temporary Table Using OPENROWSET?

利用OPENROWSET將存儲過程結果插入臨時表

直接使用SELECT * INTO語句將存儲過程的結果插入臨時表可能會因為語法錯誤而失敗。 解決方法是使用OPENROWSET方法。

首先,需要啟用Ad Hoc Distributed Queries:

sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
登入後複製

啟用後,可以使用以下代碼將存儲過程的結果插入臨時表,無需預先定義表結構:

CREATE PROC getBusinessLineHistory
AS
BEGIN
    SELECT * FROM sys.databases
END
GO

SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC getBusinessLineHistory')

SELECT * FROM #MyTempTable
登入後複製

此示例中,存儲過程getBusinessLineHistory返回sys.databases表的數據。 通過OPENROWSET,可以將存儲過程的結果有效地插入到臨時表#MyTempTable中。

以上是如何使用 OPENROWSET 將預存程序結果插入暫存表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板