0
我有以下更新,但我不想手動複製這些值。 我更喜歡使用查詢來提取它們。 我應該使用PL/SQL還是有SQL制定?Oracle:使用其他表中的值進行更新
用於獲取我手動複製到更新中的值的查詢不是關鍵保留(「在連接視圖中鍵保存的表概念」)。
UPDATE wkf_cronologia
SET swkf_stato_workflow_id = 'o3gE1tlSdcDIC6FF',
swkf_data_ini = TO_TIMESTAMP ('19-06-2010 18:28:10,556000000','DD-MM-RRRR HH24:MI:SS,FF'),
swkf_versione = 0,
SPWKF_STATO_PUBBLICO_ID = '*1UNICOO',
SPWKF_DATA_INI = TO_TIMESTAMP ('01-01-0001 00:00:00,000000000', 'DD-MM-RRRR HH24:MI:SS,FF'),
SPWKF_VERSIONE = 0
WHERE wkfc_cronologia_id = 'ApAJ0qCudNphjLxj';
你指出'wkf_cronologia'一種觀點?而且這個觀點並不是重點保存的?這意味着Oracle在發佈更新語句時無法確定要更新的一個或多個基礎表中的哪些行。你可以使視圖保存鍵嗎?你能更新基表嗎?你可以在視圖上創建一個'INSTEAD OF UPDATE'觸發器,它可以找出你想要更新的表中哪些行? – 2012-02-07 12:28:01
[更新一個表中的行與來自另一個表的數據基於每一列中的一列相等](http://stackoverflow.com/questions/7918688/update-rows-in-one-table-with-data -from-another-table-based-on-one-column-in-eac) – Allan 2012-02-07 13:58:51
對於賈斯汀洞穴:不,wkf_cronologia是一張桌子。也許你可以bettere閱讀我以前的帖子:http://stackoverflow.com/questions/9164586/oracle-multiple-table-updates-ora-01779-cannot-modify-a-column-which-maps-t/9166046# 9166046I – Revious 2012-02-07 20:27:54