Rumah >pangkalan data >tutorial mysql >Bagaimana untuk memasukkan hasil prosedur yang disimpan ke dalam jadual sementara dalam SQL?
memasukkan hasil prosedur yang disimpan ke dalam jadual sementara dalam SQL
klausa SQL dengan mudah memasukkan data jadual ke dalam jadual sementara. Walau bagaimanapun, secara langsung memasukkan hasil daripada prosedur yang disimpan menggunakan INTO
sering membawa kepada kesilapan sintaks. Penyelesaiannya? Menggunakan fungsi EXEC
. OPENROWSET
<code class="language-sql">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 SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;', 'EXEC getBusinessLineHistory'); SELECT * FROM #MyTempTable;</code>
Menyediakan penyelesaian, membolehkan akses kepada data prosedur yang disimpan tanpa jelas menentukan lajur jadual sementara. Ini memudahkan penyimpanan dan seterusnya memproses atau menganalisis output prosedur yang disimpan. Perhatikan bahawa membolehkan "pertanyaan yang diedarkan oleh ad hoc" adalah prasyarat untuk kaedah ini berfungsi dengan betul. OPENROWSET
Atas ialah kandungan terperinci Bagaimana untuk memasukkan hasil prosedur yang disimpan ke dalam jadual sementara dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!