作家模式规范

SQLite3 Writer允许用户指定写入器模式,该编写模式确定是否应为收到的每个功能发出数据库命令。有效的作者模式是更新删除

作家模式

模式,每个接收功能的属性值被写为新的数据库记录。

更新模式,每个接收功能的属性值用于更新数据库中的现有记录。更新的记录通过该记录sqlite3_update_key_columns.def线参数,或通过fme_where.特征上的属性。

删除模式,根据接收到的功能中指定的信息删除现有数据库记录。使用与选择的记录相同的技术选择删除记录以进行更新更新模式。

作者模式约束

更新删除模式,这fme_where.属性始终优先于此sqlite3_update_key_columns.defLine参数。如果两者都是fme_where.属性和attsqlite3_update_key_columns.def然后,线参数不存在更新或者删除模式将生成错误。

当。。。的时候fme_where.属性存在,它将verbatim用作生成的where子句更新或者删除命令。例如,如果fme_where.被设定为“id <5',然后使用字段ID小于5的所有数据库记录将受到命令的影响。

当。。。的时候fme_where.属性不存在,作者寻找sqlite3_update_key_columns.def line参数并使用它来确定命令影响哪些记录。请参阅def有关的更多信息sqlite3_update_key_columns.def line参数。

作家模式选择

写入器模式可以在三个独特的级别中指定。它可以在作者级别上指定,在特征类型或单个功能上。

在作者级别,写入器模式由此指定Writer_Mode.关键词。此关键字可以通过特征类型编写器模式规范取代。笔记:有关此指令的更多信息,请参阅本章数据库编写器模式

在功能类型级别,写入器模式由sqlite3_writer_mode.def line参数。此参数取代了Writer_Mode.关键词。除非此参数设置为,它可能会在个人特征上取代fme_db_operation.属性。有关此参数的更多信息,请参阅DEF线文档。

在特征级别,写入器模式由fme_db_operation.属性。除非要素类型级别的参数设置为,此属性指定的Writer模式始终取代所有其他值。fme_db_operation属性的接受值是更新或者删除

fme_db_transaction.

随着作品处理的每个功能,都会检查调用的属性fme_db_transaction.

此属性的值指定撰写器是否应提交或回滚当前事务。属性的值可以是:

  • commit_before.
  • commit_awter.
  • Rollback_Awter.
  • 忽略

如果是fme_db_transaction.属性未设置在任何功能中,整个写操作发生在单个事务中。

笔记:要使用此功能,事务间隔(对于ArcSDE,请调用每次交易功能)必须设置为多变的