MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2017年5月7日 星期日

在 Postgres 裡面的用 SELECT Query 回傳值更新多個欄位

這裡用 EDB 的範例資料(2.1.1 Sample Database | Database Compatibility for Oracle® Developer’s Guide for EDB Postgres™ Advanced Server 9.6),紀錄如在 Postgres 裡面用一個 SELECT 的回傳的一筆結果,用來更新其他地方的資料。

9.5 引進了這個功能
UPDATE jobhist 
SET (job, sal ) = (
 SELECT job, sal + 50
 FROM emp
 WHERE ename='ALLEN' );

如果是 9.4 的話,可以用 Common Table Expression 達成
WITH cte AS (
 SELECT job, sal
 FROM emp
 WHERE ename='ALLEN' )
UPDATE jobhist j
SET j.job = cte.job,
    j.sal = cte.sal + 50
FROM cte;

最近被被問到,就紀錄一下~

參考
sql - update multiple column in table using same table data in postgres? - Stack Overflow
艾力克斯札記: EnterpriseDB Oracle Compatibility 分享 (3) - update multiple columns

沒有留言:

張貼留言