2012-09-13 72 views
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; 

回答

1

創建索引時,索引列名稱是指正在創建的新表,而不是源表。要在SELECT語句中添加索引:alias 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;