2014-10-01 23 views
0

下面產生一個錯誤: [錯誤] ORA-00904(265:19):PL/SQL:ORA-00904: 「INP」 「COLUMN_VALUE」:無效的標識符在Oracle中我可以用MERGE語法來引用VARRAY嗎?

MERGE INTO tab_mapping tbl_llclm 
     USING (
       SELECT COLUMN_VALUE as map_id 
       FROM TABLE (p_llcl_map_array) inp) 
      ON (inp.COLUMN_VALUE = tbl_llclm.lab_loinc_map_id) 
    WHEN NOT MATCHED 
    THEN 
    INSERT  (tab_map_id, 
       tab_loinc_map_id, 
       last_updated_by, 
       last_updated_date) 
     VALUES (p_llc_id, 
       inp.map_id, 
       p_last_updated_by, 
       SYSDATE); 

p_llcl_map_array的類型爲num_arr(num_arr是SQL類型TABLE的數字)

回答

1

這應該工作。我剛搬到別名inp之外,通過map_id

MERGE INTO tab_mapping tbl_llclm 
     USING (
       SELECT COLUMN_VALUE as map_id 
       FROM TABLE (p_llcl_map_array) 
      ) inp 
      ON (inp.map_id = tbl_llclm.lab_loinc_map_id) 
    WHEN NOT MATCHED 
    THEN 
    INSERT  (tab_map_id, 
       tab_loinc_map_id, 
       last_updated_by, 
       last_updated_date) 
     VALUES (p_llc_id, 
       inp.map_id, 
       p_last_updated_by, 
       SYSDATE); 
+0

謝謝Maheswaran提到的COLUMN_VALUE。你看到我忽略了:-) – user2275460 2014-10-01 16:15:41

相關問題