將動態 SQL 查詢結果儲存在 SQL Server 變數中
在 SQL Server 中使用動態 SQL 通常需要將查詢結果擷取到變數中以進行後續處理。當動態查詢傳回單一值時,這特別有用。
考慮一個場景,其中動態 SQL 查詢對特定城市的客戶進行計數。 挑戰在於有效地檢索此計數並將其分配給預存程序中的變數。
sp_executesql
系統預存程序與輸出參數一起使用,提供了一個解決方案。這允許將動態 SQL 查詢的結果直接指派給變數。
這是一個改進的程式碼範例,示範如何將計數儲存在 @count
變數中:
<code class="language-sql">DECLARE @sqlCommand NVARCHAR(1000); DECLARE @count INT; DECLARE @city VARCHAR(75); SET @city = 'New York'; SET @sqlCommand = N'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>
此修改後的程式碼將動態 SQL 中的 @cnt
變數設為 COUNT(*)
結果。 sp_executesql
使用輸出參數 @city
和 @cnt
執行查詢。然後結果被整齊地儲存在 @count
變數中。
以上是如何將動態 SQL 結果傳回 SQL Server 中的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!