作家模式规范
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,请调用每次交易功能)必须设置为多变的
。