我来自Teradata报道背景和第一次构建立方体。我试图用一个主SP来填充我的事实表。 Master SP将召唤儿童SP。 Child SP就像这样 - GetData(201704)。我必须在过去13个月内调用此SP(可配置)。我已经创建了一个用rownum获取数月的表格,它会给我以下结果。
月份RowNum
201704 1
201703 2
201702 3
请在下面找到主SP的逻辑。如果有人可以帮我解决语法问题。
创建MasterSP(MonthCount)
开始
声明计数整数;
声明周期整数;
SET Count = MonthCount; --13个月
环路启动 IF(Iδ13)
SELECT Time from TimePeriod WHERE RowNum = Count
SET 的GetData(月)
计数=计数+ 1
循环结束
END
答案 0 :(得分: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;