Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Keputusan daripada Dynamic SQL dalam Prosedur Tersimpan Pelayan SQL?

Bagaimana untuk Mendapatkan Keputusan daripada Dynamic SQL dalam Prosedur Tersimpan Pelayan SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 10:28:42438semak imbas

How to Retrieve Results from Dynamic SQL in SQL Server Stored Procedures?

Dapatkan semula hasil SQL dinamik daripada prosedur disimpan SQL Server

Dalam prosedur tersimpan, selepas melaksanakan SQL dinamik, keputusan biasanya perlu diambil untuk pemprosesan selanjutnya. Contohnya ialah menentukan bilangan rekod yang dihasilkan oleh pertanyaan SQL dinamik.

Laksanakan SQL dinamik

Dalam coretan kod yang disediakan, gunakan sp_executesql untuk melaksanakan SQL dinamik bagi menentukan bilangan pelanggan di bandar tertentu. SQL Dinamik diwakili oleh @sqlCommand dan menerima parameter @city.

Hasil carian

Untuk mendapatkan semula nilai kiraan sebagai nilai pulangan prosedur yang disimpan, langkah berikut diambil:

  1. Isytiharkan intparameter jenis@cnt baharu untuk menyimpan nilai kiraan.
  2. Ubah suai pernyataan SQL dinamik dan tetapkan pembolehubah output @cnt kepada nilai COUNT(*).
  3. Panggil sp_executesql menggunakan SQL dinamik yang diubah suai dan tentukan @cnt sebagai parameter output dalam senarai parameter.

Kod sampel

<code class="language-sql">DECLARE @sqlCommand NVARCHAR(1000);
DECLARE @count INT;
DECLARE @city VARCHAR(75);
SET @city = 'New York';

SET @sqlCommand = 'SELECT @cnt=COUNT(*) FROM customers WHERE City = @city';
EXECUTE sp_executesql @sqlCommand, N'@city nvarchar(75), @cnt int OUTPUT', @city = @city, @cnt = @count OUTPUT;

SELECT @count;</code>

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Keputusan daripada Dynamic SQL dalam Prosedur Tersimpan Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn