2017-03-01 35 views
0

要跟蹤我表中的更改,我使用查找表合併查找。在這裏,我嘗試存儲我的合併表中最高的ORA_ROWSCN值,以嘗試識別這些更改。我正在使用下面的查詢,但出現以下錯誤。我需要跟蹤從視圖合併的表中的更新

查詢:

UPDATE MERGE_LOOKUP SET 
MAX_ROWSCN = (SELECT MAX(ORA_ROWSCN) 
       FROM INVCONTROL_MER) 
WHERE TABLENAME = 'INVCONTROL_MER'; 

錯誤:

ORA01747 : INVALID USER.TABLE.COLUMN, TABLE.COLUMN, OR COLUMN SPECIFICATION. 

請提出一個解決方案,我能得到這個MAX(ORA_ROWSCN)?

+0

這是mysql還是oracle? – BobC

+0

@BobC特有的oracle。 – Joe

回答

0

我覺得你只是有一些語法錯誤:

UPDATE MERGE_LOOKUP SET 
MAX_ROWSCN = (SELECT MAX(ORA_ROWSCN) 
       FROM INVCONTROL_MER 
       WHERE TABLENAME = 'INVCONTROL_MER' 
      ) 

現在這還假定您有一個名爲TABLENAME列在表INVCONTROL_MER

也許你只是想這樣的:

UPDATE MERGE_LOOKUP SET 
MAX_ROWSCN = (SELECT MAX(ORA_ROWSCN) 
       FROM INVCONTROL_MER 
      ) 
+0

表格MERGE_LOOKUP用於跟蹤表格。 「tablename」是一列。 – Joe

+0

好的,我的第一個答案也是如此?如果不是,那麼錯誤是什麼? – BobC

+0

它的錯誤是一樣的。 – Joe

相關問題