ORACLE 資料插入或者更新

2021-09-04 10:49:41 字數 869 閱讀 8416

在寫入資料的時候有時候需要根據資料庫中是否含有該條資料來判斷資料是插入還是更新,以下為oracle插入更新語法(單條資料錄入)
select sys_seq.nextval as id from dual

merge into sys_token a

using (

select # as id,# as userid, # as uuid,# as ostype, # as osdevice,

# as token,# as createdate,# as updatedate,# as osversion

from dual

) bon (a.ostype = b.ostype and a.uuid = b.uuid)

when matched then

update set a.userid = b.userid,a.osdevice = b.osdevice, a.token = b.token,

a.updatedate = b.updatedate,a.osversion = b.osversion

when not matched then

insert (id, userid, uuid, ostype, osdevice, token, createdate,updatedate, osversion)

values (b.id,b.userid,b.uuid,b.ostype,b.osdevice,b.token,b.createdate,b.updatedate,b.osversion)

重要點:
該段為匹配條件,可新增多個條件,以and相連

更新部分字段或者插入新資料

因為業務的原因,一張表的資料需要整合兩張外來鍵關聯不強的表資料,這裡涉及到更新部分字段或者插入新資料。今天簡單的做個筆記,後續有需要再補充完整 測試表結構 create table test id int 10 not null,name varchar 255 collate utf8 unico...

SQL更新部分字段或者插入新資料

sql更新部分字段或者插入新資料 因為業務的原因,一張表的資料需要整合兩張外來鍵關聯不強的表資料,這裡涉及到更新部分字段或者插入新資料。今天簡單的做個筆記,後續有需要再補充完整 測試表結構 create table test id int 10 not null,name varchar 255 c...

MySQL更新或者插入SQL語句

對於下面這張表 create table aaa a int 11 not null,b int 11 default null,c int 11 default null,primary key a engine innodb default charset utf8 執行兩次以下sql語句 in...