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