update or insert是Firebird2.1 中增加一個(gè)語句,可以在此語句中根據(jù)匹配字段來判斷目標(biāo)表中是否有特定的記錄,如果沒有匹配的記錄,就執(zhí)行Insert,反之則更新除匹配字段外的其他字段。匹配的字段必須是主鍵。如果在是觸發(fā)器或者存儲(chǔ)過程中使用,還可以通過Re
update or insert是Firebird2.1 中增加一個(gè)語句,可以在此語句中根據(jù)匹配字段來判斷目標(biāo)表中是否有特定的記錄,如果沒有匹配的記錄,就執(zhí)行Insert,反之則更新除匹配字段外的其他字段。匹配的字段必須是主鍵。如果在是觸發(fā)器或者存儲(chǔ)過程中使用,還可以通過Returning子句返回特定的值到變量中。
文檔中是這樣說明:
UPDATE OR INSERT INTO {tablename | viewname} [()] VALUES ( ) [MATCHING ( )] [RETURNING [INTO ]] ::= colname [, colname ...] ::= value [, value ...] ::= :varname [, :varname ...]
一個(gè)簡(jiǎn)單的例子:
update or insert into khinfo (kh_code, kh_name) values ('900001', '昆明某某有限公司') matching (kh_code)
通過這個(gè)語句,可以把以往分做兩個(gè)條件的新增Insert或者Update兩個(gè)語句,合并為一個(gè)語句,通過判斷主鍵是否存在,F(xiàn)irebird數(shù)據(jù)庫內(nèi)部就完成了執(zhí)行insert或者Update的判斷并執(zhí)行,很是簡(jiǎn)潔。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com