打开事务处理

开始事务处理;后续记录更改在“提交事务处理”或“恢复事务处理”脚本步骤执行之前将保留在事务处理中。

注释  事务在发起的窗口中处理。在非发起事务窗口执行的窗口操作将自动在现有事务外部提交。

选项 

  • 跳过数据输入验证”直接提交记录,而不考虑为字段设置的任何数据输入验证选项。该选项只跳过对使用“字段选项”对话框中的“仅在数据输入过程中”验证选项设置的字段的验证;即使选定了“跳过数据输入验证”选项,设置为“始终”验证的字段仍需要验证。请参阅定义字段验证

  • 覆盖 ESS 锁定冲突”允许 ODBC 数据源的客户在乐观锁定阻止提交操作时强制提交更改。ODBC 数据源也称为外部 SQL 源 (ESS)。

兼容性 

产品 是否支持
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
自定义 Web 发布

原始版本 

19.6.1

说明 

事务处理包括对当前窗口中一条或多条记录的更改。事务中的更改可能会影响多个数据库文件中的多个表。一个事务中的所有更改将一起提交,或者,如果发生错误,将一起还原。事务从“打开事务处理”脚本步骤开始。在开始事务后,后续记录更改将保留在事务中,直到执行“提交事务处理”或“恢复事务处理”脚本步骤。下列步骤可以更改数据库架构中存储的记录,可用作事务性脚本步骤。

向脚本添加“打开事务处理”脚本步骤时,“提交事务处理”脚本步骤会自动与之配对。

事务:

  • 将一个或多个字段或表修改合并为一个更改集

  • 提交或还原整个更改集

  • 对“打开事务处理”与“提交事务处理”脚本步骤之间的字段或表修改分组

  • 允许您创建更可靠的更改集

  • 可以使用“恢复事务处理”脚本步骤自动还原

  • 作为一个组成功(提交)或失败(还原)

  • 符合架构规则时成功

  • 不符合架构规则时自动还原

  • 可以选择在不符合架构规则时跳过验证设置并覆盖自动还原。覆盖架构规则可能会破坏事务的完整性。

  • 在“提交事务处理”脚本步骤之前修改临时本地文件会将更改保存至主文件

事务在以下情况下自动提交并结束:

  • 以下脚本步骤更改布局窗口:“新建窗口”、“关闭窗口”或“选择窗口”

  • 使用以下对话框:“管理数据库”、“管理容器”或“管理数据源”

  • 执行以下操作或脚本步骤:“副本另存为”或“重新登录”。

  • 文件关闭

事务在以下情况下自动还原:

  • 在开始事务之前存在未解决的架构错误。发生此情况时自动跳过事务。

  • 字段更改(设置为始终验证)与字段的验证选项不匹配

  • 使用“恢复事务处理”脚本步骤

  • 取消脚本

  • 在事务中使用“中断脚本”脚本步骤

  • 使用脚本调试器取消脚本

  • 具有权限错误,例如无字段访问权限、无记录访问权限、无表访问权限

注释 

  • 您无法使用“打开事务处理”脚本步骤在一个事务中开始另一个事务。

  • 使用“执行脚本”脚本步骤的嵌套事务加入发起事务,但它们会忽略子脚本中嵌套的“恢复事务处理”和“执行事务”脚本步骤。

  • “删除记录”操作在事务中使用时每次删除一条记录。

  • “清空表记录”操作无法还原。

  • “导入记录”操作在事务中使用时不显示摘要。

  • “恢复事务处理”脚本步骤不还原“自动输入序列增量”值。

  • 布局设置中的“自动保存记录更改”选项在事务期间将被忽略。

  • “执行 FileMaker Data API 脚本”步骤所做的更改未包含在脚本的事务处理中。在此脚本步骤中完成的任何操作即使包含在事务处理中,将无法恢复。

示例 1 

打开并提交事务。

复制
打开事务处理 []
    打开记录/请求
    设置字段 [ Assets::Description ; "描述性文本" ]
提交事务处理

示例 2 

打开并提交没有数据输入验证的事务。

复制
打开事务处理 [ 跳过数据输入验证 ] 打开记录/请求设置字段 [ Assets::Description ; "描述性文本" ] 提交事务处理

示例 3 

打开并提交没有 ESS 锁定保护的事务。

复制
打开事务处理 [ 覆盖 ESS 锁定冲突 ] 打开记录/请求设置字段 [ Assets::Description ; "描述性文本" ] 提交事务处理