我来自报告背景,第一次从 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;