使用Oracle SQL更新表資料
在處理Oracle SQL等關聯式資料庫時,您可能會遇到需要使用另一個表中的資料更新表的場景。此任務通常使用SQL的UPDATE指令執行。
問題:
假設有兩個表,表1和表2,兩者都包含id、name和desc列,要求您根據匹配的id值使用表2中的對應資料更新表1中的資料。期望的結果是表1應使用表2中對應id值的name和desc值來更新。
解:
為了實現此更新,您可以使用Oracle SQL中的相關更新。以下是詳細方法:
<code class="language-sql">UPDATE table1 t1 SET (name, desc) = (SELECT t2.name, t2.desc FROM table2 t2 WHERE t1.id = t2.id) WHERE EXISTS ( SELECT 1 FROM table2 t2 WHERE t1.id = t2.id );</code>
說明:
替代方法(假設鍵保留視圖):
如果表1和表2之間的連接結果形成一個鍵保留視圖,您也可以使用以下方法:
<code class="language-sql">UPDATE (SELECT t1.id, t1.name name1, t1.desc desc1, t2.name name2, t2.desc desc2 FROM table1 t1, table2 t2 WHERE t1.id = t2.id) SET name1 = name2, desc1 = desc2;</code>
說明:
以上是如何使用另一個表中的資料更新 Oracle SQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!