首页 > 解决方案 > Teradata、易失性表和无计数?

问题描述

因此,我在 ETL 作业中遇到了一些问题,我试图查询一条语句,包括创建带有相邻插入的易失性表 (VT)。

虽然我不确定我认为如果你没有“SET NOCOUNT ON”,我认为我有一个相当于 MS-SQL 临时表插入的问题 - > 即从插入到 VT 的行数返回到我的到我的光标而不是使用 VT 的查询。

我不能使用 CTE(不认为我可以),因为我将透视结果插入 VT,因为我需要能够引用主选择中的列。

我无法创建视图,因为这是银行核心解决方案的托管系统;换句话说,除了读取我用来从视图中合成数据并提取它们之外,我没有其他权利。出于同样的原因,我无法创建存储过程。

我已经用 2,5 种语言搜索了半个地球,但我找不到任何与“SET NOCOUNT ON”等效的 Teradata。

我正在从 Azure 数据工厂触发负载,并且我有一个 On Prem 自托管集成运行时以确保与 TeradataDB 的连接。

不用说,Teradata 不是我的强项,我希望能得到你们的帮助 :)

提前!非常感谢!

编辑:

所以这里是查询的结构:

Create volatile table StackOverflowTable
(
    Key1(40),
    Pivot1 float,
    Pivot2 float,
    Pivot3 float
)primary index (Key1) ON COMMIT PRESERVE ROWS;

;


insert into StackOverflowTable
select *
from
(
    select atv.row1 Key1
    , atv.row2
    atv.row3
    , row_number() over(partition by atv.row1 order by atv.row2 desc) RowNum
    from aTeradataView  atv
)s1
Pivot
(
    sum(s1.row2) amt1,
    sum(s1.row3) amt2
    for RowNum in(1,2,3,4)
)p

;


with cte as
(
    select av.row_av_1
    , av.row_av_2
    , av.row_av_3
    , av.row_av_4
    , av.ReportDate
    from anotherView av
)



select cte.row_av_1
, cte.row_av_2
, cte.row_av_3
, cte.row_av_4
, sf.Pivot1 
, sf.Pivot2
, sf.Pivot3
, cte.ReportDate StartLoadDate
, '9999-12-31' EndLoadDate
from cte
inner join StackOverflowTable sf on sf = cte.row_av_1

;

DROP TABLE StackOverflowTable 
;

标签: teradata

解决方案


推荐阅读