[OracleDB] ”update”文でデータ更新

OracleDatabaseのデータ更新SQL、「update」文について紹介します。

update」文は、「insert」、「delete」と同様にDML(Data Manipulation Language )と呼ばれ、データを操作するSQL文になります。

目次

基本構文:update ~ set

update文の基本構文は以下になります。

update <テーブル名>
set
<列名①> = <列①の値>,
<列名②> = <列②の値>,
<列名③> = <列③の値>...
WHERE
<条件>
;

下がサンプルのinsert文になります。

select *
from EMPLOYEE;

EMPNO NAME SALARY
---------- ------------------------- ----------
00001 TARO TANAKA 300000

update EMPLOYEE
set
NAME = 'HANADA YAMADA',
SALARY = 500000
WHERE
EMPNO = '00001'
;

commit;

select *
from EMPLOYEE;

EMPNO NAME SALARY
---------- ------------------------- ----------
00001 HANADA YAMADA 500000

selectで取得した結果で更新:update ~set ~ select

update文の基本構文は以下になります。

update <テーブル名>
set
(<列名①>, <列名②>, <列名③>) = (select <列名①>,
<列名②>,
<列名③>
from <テーブル名>
where <条件>)
WHERE
<条件>
;

下がサンプルのupdate文になります。

select *
from EMPLOYEE;

EMPNO NAME SALARY
---------- ------------------------- ----------
00001 TARO TANAKA 300000

select *
from SUB_EMPLOYEE;

EMPNO NAME SALARY
---------- ------------------------- ----------
00001 ICHIRO SATO 700000

update EMPLOYEE
set
(NAME, SALARY) = (select NAME,
SALARY
from SUB_EMPLOYEE
where EMPNO = '00001'
)
WHERE
EMPNO = '99999'
;

select *
from EMPLOYEE;

EMPNO NAME SALARY
---------- ------------------------- ----------
99999 ICHIRO SATO 700000

[改訂第4版]SQLポケットリファレンスposted with ヨメレバ

朝井 淳 技術評論社 2017-02-18

Amazonで探す

Kindleで探す

楽天ブックスで探す

楽天koboで探す

7netで探す

hontoで探す

e-honで探す

紀伊國屋書店で探す

よかったらシェアしてね!
  • URLをコピーしました!
目次