好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Firebird数据库语句:updateorinsert

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的判断并执行,很是简洁。

查看更多关于Firebird数据库语句:updateorinsert的详细内容...

  阅读:49次