Sql 在volatile表上设置主索引的问题
我有以下引用临时表的查询,我在设置主索引(I_sys_clm)时遇到了一个问题 我收到了一个错误:如果我只是在commit-preserve行上与数据主索引(I_sys_clm)一起使用,那么应该在tab2和“.”之间出现一些内容;我得到一个错误,说它是含糊不清的Sql 在volatile表上设置主索引的问题,sql,teradata,Sql,Teradata,我有以下引用临时表的查询,我在设置主索引(I_sys_clm)时遇到了一个问题 我收到了一个错误:如果我只是在commit-preserve行上与数据主索引(I_sys_clm)一起使用,那么应该在tab2和“.”之间出现一些内容;我得到一个错误,说它是含糊不清的 create volatile table Fin as ( select tab1.* ,tab2.i_sys_clm ,tab2.c_sta_clm as "new_status" ,tab2.whse_curr_row
create volatile table Fin as (
select tab1.*
,tab2.i_sys_clm
,tab2.c_sta_clm as "new_status"
,tab2.whse_curr_row_ind
,tab2.whse_load_ts
,(case when tab2.c_sta_clm is null then 'U' else tab1.c_sta_clm end) bom_status
,tab2.c_sta_clm eom_status
from tab1
left outer join tab2
on tab1.i_sys_clm = tab2.i_sys_clm
) with data primary index (tab2.i_sys_clm) on commit preserve rows;
创建索引时,索引列名引用正在创建的新表,而不是源表。要添加索引,请在
语句中选择别名tab2.i_sys_clm
,然后在创建索引时引用该别名。例如:
create volatile table Fin as (
select tab1.*
,tab2.i_sys_clm as "i_sys_clm_2"
,tab2.c_sta_clm as "new_status"
,tab2.whse_curr_row_ind
,tab2.whse_load_ts
,(case when tab2.c_sta_clm is null then 'U' else tab1.c_sta_clm end) bom_status
,tab2.c_sta_clm eom_status
from tab1
left outer join tab2
on tab1.i_sys_clm = tab2.i_sys_clm
) with data primary index (i_sys_clm_2) on commit preserve rows;