oracle merge 更新或插入資料

2021-09-12 04:24:17 字數 1628 閱讀 2747

[size=large][b]主要功能 [/b][/size]

[color=red]提供有條件地更新和插入資料到資料庫表中 [/color]

如果該行存在,執行乙個update操作,如果是乙個新行,執行insert操作

[color=red]— 避免了分開更新 [/color]

[color=blue]— 提高效能並易於使用 [/color]

— 在資料倉儲應用中十分有用

[size=large][b]merge語句的語法如下: [/b][/size]

merge [hint] into [schema .] table [t_alias] using [schema .]

[t_alias] on ( condition )

when matched then merge_update_clause

when not matched then merge_insert_clause;

[size=large][b]merge例子[/b][/size]

merge into copy_emp c

using employees e

on (c.employee_id=e.employee_id)

when matched then

update set

c.first_name=e.first_name,

c.last_name=e.last_name,

c.department_id=e.department_id

when not matched then

insert values(e.employee_id,e.first_name,e.last_name,

e.email,e.phone_number,e.hire_date,e.job_id,

e.salary,e.commission_pct,e.manager_id,

e.departmetn_id);

注意:[color=red]on子句的使用的字段不能夠用於update,即oracle不允許更新用於連線的列。[/color]

merge into mn a

using mm b

on(a.id=b.id)

when matched then

update set a.name = b.name

when not matched then

insert values(b.id, b.name);

on(a.id=b.id)

merge into test t using test1

on t1.name = t.name

when not matched then

insert

(t.id)

values(

sys_guid()

);

PySpark withColumn更新或新增列

原文 pysparkwithcolumn 是dataframe的轉換函式,用於更改或更新值,轉換現有dataframe列的資料型別,新增 建立新列以及多核。在本文中,我將使用withcolumn 示例向您介紹常用的pyspark dataframe列操作。首先,讓我們建立乙個要使用的datafram...

mysql插入或更新

現有user表,userid為使用者id,做為資料表user的主鍵 由於userid不可以重複,而這裡userid直接作為主鍵。為防止併發操作,插入語句可以這樣設計 不存在userid則插入,否則更新 insert into user userid,nickname,role,createtime,...

用openrowset連線遠端SQL或插入資料

用openrowset連線遠端sql或插入資料 如果只是臨時訪問,可以直接用openrowset 查詢示例 select from openrowset sqloledb sql伺服器名 使用者名稱 密碼 資料庫名.dbo.表名 匯入示例 select into 表 from openrowset ...