我的存储过程创建一个公用表表达式来查找"最后交易" /"最佳出价"对于每个列出的StockName(代码很长但使用:
row_number () OVER ( partition BY StockName ORDER BY Date/Price)
和WHERE国家='美国' )
虽然工作正常但我现在想要添加从单独查询输入结果的功能(一组国家:' USA',' CAN',&#39 ; MEX')并循环显示上面显示的SP。
但是,我对如何以及在何处进行数据传递和/或循环感到迷茫。
我应该有两个SP'并传递它们之间的值???或者在一个SP内部创建一个循环?
答案 0 :(得分:1)
您可以使用SQL CURSOR循环查询结果并调用您提到的存储过程。以下是使用CURSOR的示例。
declare cur_countr cursor for
select 'USA' as Country union
select 'CAN' as Country union
select 'MEX' as Country
declare @country nvarchar(50)
open cur_countr
fetch next from cur_countr into @country
while(@@FETCH_STATUS = 0)
begin
print @country
-- You will get country here and invoke the Stored Procedure you defined
fetch next from cur_countr into @country
end
close cur_countr
deallocate cur_countr