Table1 有 4 列 = Col1 , Col2 , Col3 , Col4
Col1 是 id(integer) column = 156 , 159 , 175
Col2 是 varchar 列 = CAA , DFE , EME
Col3 是 varchar 列 = 12345 , 23465 , 43122
Col4 是 varchar 列 = 2 , 3 , 6
我正在創建一個接受組合集合作為引數的存盤程序
組合= Col2 Col3 Col4 回傳 Col1 值。類似于接受集合并回傳許多值(Col1)
例如:需要獲取輸入 CAA 12345 2 必須回傳 156。同樣 DFE 23465 43122 必須回傳 159。
對于上述場景,如何在存盤程序中接受引數?如何接受列組合中的引數以在 SQL Server 中檢索多條記錄?
uj5u.com熱心網友回復:
create proc spstack
@col2 varchar(10),
@col3 varchar(10),
@col4 varchar(10)
as begin
select col1 from #stack where
col2=@col2 and col3=@col3 and col4=@col4
end
execute spstack 'CAA','12345','2'
output-156
uj5u.com熱心網友回復:
我已經探索并找到了解決方案。
我創建了一個table type- 有 3 個欄位
然后,我在stored procedure接受作為引數時使用了這個表型別
然后,我使用內部連接來完成我的任務。
uj5u.com熱心網友回復:
CREATE PROCEDURE [procedure-name]
@Col2 nvarchar(3),
@Col3 nvarchar(5),
@Col4 nvarchar(1)
SELECT Col1 from Table1
WHERE Col2 = @Col2 AND Col3 = @Col3 AND Col4 = @Col4
希望這是您的要求并有所幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448984.html
