首頁 > 資料庫 > mysql教程 > 如何在不定義臨時表結構的情況下將預存程序結果插入臨時表?

如何在不定義臨時表結構的情況下將預存程序結果插入臨時表?

Patricia Arquette
發布: 2025-01-25 02:32:13
原創
317 人瀏覽過

How to Insert Stored Procedure Results into a Temporary Table Without Defining its Structure?

>將存儲的過程結果插入一個臨時表中,而沒有預定結構

>問題:>如何使用存儲過程的結果填充一個臨時表,而無需明確定義表模式?

>

解決方案:>利用OPENROWSET>函數。此函數執行遠程查詢,並將結果直接插入臨時表中,從查詢的輸出中動態推斷表結構。

這是一個示例:

<code class="language-sql">-- Sample Stored Procedure
CREATE PROC getBusinessLineHistory
AS
BEGIN
    SELECT * FROM sys.databases
END
GO

-- Enable Ad Hoc Distributed Queries (required for OPENROWSET)
sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

-- Insert results into temporary table using OPENROWSET
SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC getBusinessLineHistory')

-- Verify the data
SELECT * FROM #MyTempTable</code>
登入後複製
此代碼首先定義了樣本存儲過程(

)。 至關重要的是,它可以使用getBusinessLineHistory啟用“臨時分佈式查詢”。這是使用sp_configure>的先決條件 OPENROWSET

>遠程執行存儲過程,然後將返回的數據自動插入到

>中。臨時表的結構是根據存儲過程返回的數據類型動態創建的。 最後,AOPENROWSET>語句確認了數據的成功插入。 這種方法避免了需要手動定義臨時表格的模式。 #MyTempTable

以上是如何在不定義臨時表結構的情況下將預存程序結果插入臨時表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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