Teradata,易失表和无计数吗?

时间:2020-10-06 18:53:16

标签: teradata

所以我在ETL作业中遇到一些问题,我试图查询一条语句,包括创建带有相邻插入的volatile表(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 
;

0 个答案:

没有答案