在 Teradata 存储过程中传递参数(使用循环)



我来自报告背景,第一次从 Teradata 构建多维数据集。我正在尝试用一个主 SP 填充我的事实数据表。主 SP 将调用子 SP。子 SP 将是这样的 - GetData(201704(。我必须在过去 13 个月内调用此 SP(可配置(。我创建了一个表格,用于获取带有 rownum 的月份,这将给我以下结果。

月行数

201704 1

201703 2

201702 3

请在下面找到主 SP 的逻辑。如果有人可以帮助我语法。

创建主SP(月数(

开始

声明计数整数;

声明周期整数;

SET Count=MonthCount;--13 個月

循环启动IF(I<13(

从时间段中选择月份,其中行数=计数

设置获取数据(月(

计数

=计数+1

循环结束

结束

我已经设法在SP下面创建并且工作正常。

Replace PROCEDURE MYDB.MasterLoad( MntCnt Integer)
BEGIN
Declare MonthCount integer;
Declare IniCount integer;
Declare PeriodNum Integer;
SET IniCount =1;
SET MonthCount = MntCnt;

WHILE IniCount <= MonthCount DO
   BEGIN 
SELECT AccountingReportMonthPeriodNum into PeriodNum  FROM MYDB.Monthly_Dim_TimePeriod WHERE Rownum=IniCount; 
CAll MYDB.MthCustFact_Test(PeriodNum) ;   

SET IniCount = IniCount+1;
   END;
END WHILE;

END;

最新更新