你在这里: 工作台格式中的资源 > 功能操作 > 写入模式

写入模式

不支持的许多作家功能操作说明书份额器模式规范,它决定传入特征是否将被插入,更新或从目标表中删除。一些作家从规格偏离。

笔者模式可以在三个独特的级别:

  • 作家
  • 特征

Writer级别

在Writer级别,关键词是<作家> _MODE,由作家关键字前缀(例如,SDE30)。可能的值有:

  • INSERT - 言下之意只插入;只能由表级的模式,而不是功能等级模式覆盖。
  • 更新 - 更新表,但可以通过表 - 和特征等级模式覆盖。
  • DELETE - 从表中删除,但可以通过表 - 和特征等级模式覆盖。

表级别

在表级,有一个格式特定特征类型DEF线参数由作家关键字前缀称为_MODE(例如,SDE30_MODE)。此属性可能的值有:

0 INHERIT_FROM_WRITER - 继承作家级作家模式。

1. INSERT

2.更新

3.删除

特征级

在功能层面,笔者模式可通过属性命名fme_db_operation进行设置。此属性可能的值有:

0 <无属性> - 默认为表级别模式
1. INSERT
2.更新
3.删除

fme_db_operation覆盖写入器和表级写入器模式中,除了当表水平模式是INSERT,或者如果表级模式是INHERIT_FROM_WRITER和作家水平模式是INSERT。

fme_db_operation结合使用与更新/删除键列,或具有在特征级别更新和删除操作的fme_where属性。如果一个作家同时支持fme_where和更新/删除键列,fme_where覆盖更新/删除键列。

插入例如:

Writer级别:UPDATE
表级:UPDATE,INSERT或DELETE
功能型道路
num_lanes 5
surface_type砾石
106岁
加拿大位置
状态不佳
名高速公路1
road_id 1234
fme_geometry fme_no_geom
fme_db_operation INSERT

这将插入一行到一个名为“道路”表。这将追加到现有的表。没有指定列将获得其默认值,如果有默认值。

更新例如:

Writer级别:UPDATE
表级别:UPDATE或DELETE
功能型道路
条件好
fme_db_operation UPDATE
fme_where road_id = 1234

这将在表中“道路”,其中road_id = 1234列“条件”将有它的价值从“差”到“好”的变化更新行。

删除例如:

Writer级别:UPDATE
表级别:UPDATE或DELETE
功能型道路
fme_db_operation DELETE
fme_where road_id = 1234

这将删除表中“道路”,其中road_id = 1234行。

笔记:

  • 对不存在的行进行更新不会变成插入。用户被警告,该功能将被拒绝。
  • 插入上存在未打开到更新行执行。FME仍将尝试执行插入:如果不是由唯一索引阻止,它会插入一个重复的行;如果它是由一个唯一索引阻止,该功能将被拒绝,或翻译会失败,这取决于作家。
  • 更新不限于每个功能一行。这是可能的一个功能更新整个表。
  • 几何形状也可以使用更新模式更新。在更新功能的几何体将取代几何中的所有匹配的行,但有一个例外。如果一个功能没有几何,目标几何列要么是空值替换,或者不进行更新,根据不同的作家。