你在这里: 工作台格式资源 功能操作

功能操作

许多编写者共享一个特性操作规范,该规范确定是否将插入、更新或从目标表中删除引入的特性。

注意:功能操作取代作家模式

功能操作是写入器格式参数。其可能的值为:

  • 插入:使用特性上的属性(如果写入器是空间的,则使用几何图形)将行追加到目标表。
  • 更新:在特性上使用属性(如果writer是空间的,则使用几何图形)更新现有的表列。必须在行选择组中指定一个选择方法。
  • 删除:删除现有的表行。必须在行选择组中指定一个选择方法。
  • fme_db_operation:特性操作将由属性决定fme_db_operation对每个输入特性。必须在行选择组中指定一个选择方法。的价值fme_db_operation将按以下方式处理:
  • 如果该值为null、空或缺失,则会将其视为Insert。
  • 然后,该值将被不区分大小写地匹配为插入、更新和删除。
  • 如果没有匹配,该特性将被拒绝,并在日志中显示警告。
  • 如果存在匹配,则对该特征执行匹配的特征操作。

更新空间列(年代)是仅在特性的特性操作更新时才有效的写入器格式参数。此参数的可能值为:

  • 是的:用户指定的空间列将被更新。IFMENulls将被写入空值并替换现有的空间值。多几何列处理存在一些例外。
  • 没有:不更新空间列。

行选择是仅当特性的特性操作为更新或删除时才有效的写入器格式参数组。在从表中更新和删除时,需要指定一个条件来选择要操作的行。这个参数组提供了两种方式来构造选择条件:

  • 匹配列:在相应的列选择器对话框中选择的列将用于匹配目标行。将选择所有匹配的行进行更新或删除。如果与指定匹配列对应的任何特性属性包含空值或缺失值,则将拒绝该特性。

  • WHERE子句:相应的WHERE子句生成器允许您构造一个WHERE子句。您还可以以内联方式输入WHERE子句,而无需启动WHERE子句生成器。以关键字WHERE开始子句是可选的。

  • WHERE子句生成器使用户可以方便地引用特性属性值、目标表列和调用FME函数。WHERE子句首先作为FME表达式计算,然后应用到目标表。
  • 用户可以将WHERE子句设置为特性上的任何属性。对于现有的FME用户,必须通过WHERE子句指定熟悉的fme_where属性才能生效(参见上面的示例)。
  • 如果WHERE子句无效,特性将被拒绝或翻译失败,这取决于特定的作者。
  • 对于高级用户,可以通过条件值编辑器创建条件WHERE子句,以适应不同的功能组。

参见:作家模式