0

我有以下引用临时表的查询,我在设置主索引 (i_sys_clm) 时遇到问题

我收到错误:期待 tab2 和“。”之间的东西。如果我只是在提交保留行时使用数据主索引(i_sys_clm);我收到一个错误,说它不明确。

 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;
4

1 回答 1

1

创建索引时,索引列名是指正在创建的新表,而不是源表。tab2.i_sys_clm在语句中添加您的 index: 别名SELECT,然后在创建索引时引用该别名。例如:

 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;
于 2012-12-12T22:17:17.880 回答