Firebird数据库语句:update or insert
程序员文章站
2022-06-01 15:45:32
...
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)
说明:通过Update or insert语句来决定更亲或者添加一个记录到khinfo表中,匹配条件为主键字段kh_code。执行的结果会根据KH_Code的存在与否来处理。
通过这个语句,可以把以往分做两个条件的新增Insert或者Update两个语句,合并为一个语句,通过判断主键是否存在,Firebird数据库内部就完成了执行insert或者Update的判断并执行,很是简洁。
推荐阅读
-
从Oracle数据库中读取数据自动生成INSERT语句的方法
-
从Oracle数据库中读取数据自动生成INSERT语句的方法
-
mysql数据库使用insert语句插入中文数据报错
-
PHP新手用的Insert和Update语句构造类
-
SQLServer 2008中SQL增强之三 Merge(在一条语句中使用Insert,Update,Delete)
-
Mysql查询语句使用select.. for update导致的数据库死锁分析
-
轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句
-
MySQL select、insert、update批量操作语句代码实例
-
asp中用insert into语句向数据库插入记录(添加信息)的方法
-
T-SQL基本语句使用,select语法、insert语法、update语法、delete语法