使用SQL Server 2016,我對財務部門有一個巨大的查詢,它使用@Year
和@FinPeriod
來匹配具有句點的事務。而對於報告,我們通常會將單個值傳遞給存儲過程。但是現在我們需要使用通常在運行中生成的數據來填充基礎表。SQL LOOP將臨時表中的值作爲參數傳遞給存儲過程
有沒有人可以幫忙的循環?我有一個臨時表,每年的值列和finperiod。我正在尋找循環這張表 - 在一年和一段時間內一個接一個地傳遞到存儲過程,直到它們全部被運行。
存儲過程元素對我來說很好,只是讓循環/傳遞部分工作將是一個幫助。
到目前爲止,我有:
declare @fiscalyearid numeric(9)
declare @FiscalYear numeric(9)
declare @FiscalMonthOfYear numeric(9)
declare @Year numeric(9)
declare @FinPeriod numeric(9)
if object_id('tempdb..#dateloop','u') is not null
drop table #dateloop
select distinct
identity(int,1,1) as ID,
FiscalYear_int, FiscalMonthOfYear
into
#dateloop
from
[DW].[DDS].[dimDate]
where
FiscalYear_int = '2018'
DECLARE C CURSOR LOCAL FAST_FORWARD FOR --
SELECT
ID, FiscalYear_int, FiscalMonthOfYear
FROM
#dateloop;
OPEN C;
FETCH C INTO @FiscalYear, @FiscalMonthOfYear;
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC [dbo].[Origen_Reporting->SSRS_Capex_Monitoring_Report_Expenditure] @Year, @FinPeriod
FETCH C INTO @Year,@FinPeriod
END
CLOSE C;
DEALLOCATE C;
任何提示將是輝煌的。謝謝
您可以加入整個表(已年)和data..but這取決於你如何去使用它 – TheGameiswar