Gunakan OPENROWSET untuk memasukkan keputusan prosedur yang disimpan ke dalam jadual sementara
Menggunakan pernyataan SELECT * INTO
secara langsung untuk memasukkan hasil prosedur yang disimpan ke dalam jadual sementara mungkin gagal disebabkan oleh ralat sintaks. Penyelesaiannya adalah dengan menggunakan kaedah OPENROWSET
.
Pertama, anda perlu mendayakan Pertanyaan Edaran Ad Hoc:
<code class="language-sql">sp_configure 'Show Advanced Options', 1 GO RECONFIGURE GO sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE GO</code>
Apabila didayakan, kod berikut boleh digunakan untuk memasukkan hasil prosedur yang disimpan ke dalam jadual sementara tanpa mentakrifkan struktur jadual:
<code class="language-sql">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</code>
Dalam contoh ini, prosedur tersimpan getBusinessLineHistory
mengembalikan data jadual sys.databases
. Melalui OPENROWSET
, hasil prosedur tersimpan boleh dimasukkan dengan cekap ke dalam jadual sementara #MyTempTable
.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Keputusan Prosedur Tersimpan ke dalam Jadual Sementara Menggunakan OPENROWSET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!