接受列组合中的参数以检索多条记录

Accept parameters in the combination of columns for retrieving many records

Table1 有 4 列 = Col1、Col2、Col3、Col4

Col1 是 id(整数)列 = 156 , 159 , 175

Col2 是 varchar 列 = CAA、DFE、EME

Col3 是 varchar 列 = 12345、23465、43122

Col4 是 varchar 列 = 2 , 3 , 6

我正在创建一个接受组合集合作为参数的存储过程

组合 = Col2 + Col3 + Col4 其中 returns Col1 值。类似地接受集合和 returns 许多值 (Col1)

例如:需要获取输入 CAA + 12345 + 2 必须 return 156。类似地 DFE + 23465 + 43122 必须 return 159.

上述场景如何在存储过程中接受参数?如何在 SQL 服务器中检索多条记录的列组合中接受参数?

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

希望这就是您要问的并且对您有所帮助!

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

我已经探索并找到了解决方案。

我创建了一个 table type - 有 3 个字段

然后,我在 stored procedure 接受中使用了这个 table 类型作为参数

然后,我使用内部连接完成了我的任务。