打开事务处理
开始事务处理;后续记录更改在“提交事务处理”或“恢复事务处理”脚本步骤执行之前将保留在事务处理中。
注释 事务在发起的窗口中处理。在非发起事务窗口执行的窗口操作将自动在现有事务外部提交。
另请参阅
选项
- 
                                                
“跳过数据输入验证”直接提交记录,而不考虑为字段设置的任何数据输入验证选项。该选项只跳过对使用“字段选项”对话框中的“仅在数据输入过程中”验证选项设置的字段的验证;即使选定了“跳过数据输入验证”选项,设置为“始终”验证的字段仍需要验证。请参阅定义字段验证。
 - 
                                                
“覆盖 ESS 锁定冲突”允许 ODBC 数据源的客户在乐观锁定阻止提交操作时强制提交更改。ODBC 数据源也称为外部 SQL 源 (ESS)。
 
兼容性
| 产品 | 是否支持 | 
| FileMaker Pro | 是 | 
| FileMaker Go | 是 | 
| FileMaker WebDirect | 是 | 
| FileMaker Server | 是 | 
| FileMaker Cloud | 是 | 
| FileMaker Data API | 是 | 
| 自定义 Web 发布 | 是 | 
原始版本
19.6.1
说明
事务包括对当前窗口中一条或多条记录的更改。事务中的更改可能会影响多个数据库文件中的多个表。一个事务中的所有更改将一起提交,或者,如果发生错误,将一起还原。事务从“打开事务处理”脚本步骤开始。在开始事务后,后续记录更改将保留在事务中,直到执行“提交事务处理”或“恢复事务处理”脚本步骤。下列步骤可以更改数据库架构中存储的记录,可用作事务性脚本步骤。
- 
                                                
                                                
如果导入目标是新表,则在事务未提交时,该表、表摹本和布局都会删除。如果“提交事务处理”脚本步骤返回错误或者执行“恢复事务处理”脚本步骤,则事务不会提交。
 - 
                                                
插入脚本步骤:插入音频/视频、插入计算结果、插入当前日期、插入当前时间、插入当前用户名、插入文件、从设备插入、从索引插入、从最后一次访问处插入、从 URL 插入、插入 PDF 、插入图片、插入文本
 
向脚本添加“打开事务处理”脚本步骤时,“提交事务处理”脚本步骤会自动与之配对。
事务:
- 
                                                
将一个或多个字段或表修改合并为一个更改集
 - 
                                                
提交或还原整个更改集
 - 
                                                
对“打开事务处理”与“提交事务处理”脚本步骤之间的字段或表修改分组
 - 
                                                
允许您创建更可靠的更改集
 - 
                                                
可以使用“恢复事务处理”脚本步骤自动还原
 - 
                                                
作为一个组成功(提交)或失败(还原)
 - 
                                                
符合架构规则时成功
 - 
                                                
不符合架构规则时自动还原
 - 
                                                
可以选择在不符合架构规则时跳过验证设置并覆盖自动还原。覆盖架构规则可能会破坏事务的完整性。
 - 
                                                
在“提交事务处理”脚本步骤之前修改临时本地文件会将更改保存至主文件
 
事务在以下情况下自动提交并结束:
- 
                                                
以下脚本步骤会更改布局窗口:新建窗口、关闭窗口或选择窗口
 - 
                                                
使用以下对话框:管理数据库、管理容器或管理数据源
 - 
                                                
执行以下操作或脚本步骤:另存副本或重新登录
 - 
                                                
文件关闭
 
事务在以下情况下自动还原:
- 
                                                
在开始事务之前存在未解决的架构错误。发生此情况时自动跳过事务。
 - 
                                                
字段更改(设置为始终验证)与字段的验证选项不匹配
 - 
                                                
使用“恢复事务处理”脚本步骤
 - 
                                                
取消脚本
 - 
                                                
在事务中使用“中断脚本”脚本步骤
 - 
                                                
使用脚本调试器取消脚本
 - 
                                                
具有权限错误,例如无字段访问权限、无记录访问权限、无表访问权限
 
注释
- 
                                                
您无法使用“打开事务处理”脚本步骤在一个事务中开始另一个事务。
 - 
                                                
使用“执行脚本”脚本步骤的嵌套事务加入发起事务,但它们会忽略子脚本中嵌套的“恢复事务处理”和“执行事务”脚本步骤。
 - 
                                                
“删除记录”操作在事务中使用时每次删除一条记录。
 - 
                                                
“清空表记录”操作无法还原。
 - 
                                                
“导入记录”操作在事务中使用时不显示摘要。
 - 
                                                
“恢复事务处理”脚本步骤不还原“自动输入序列增量”值。
 - 
                                                
布局设置中的“自动保存记录更改”选项在事务期间将被忽略。
 
示例 1
打开并提交事务。
打开事务处理 []
    打开记录/请求
    设置字段 [ Assets::Description ; "描述性文本" ]
提交事务处理
                                            示例 2
打开并提交没有数据输入验证的事务。
打开事务处理 [跳过数据输入验证]
    打开记录/请求
    设置字段 [ Assets::Description ; "描述性文本" ]
提交事务处理
                                            示例 3
打开并提交没有 ESS 锁定保护的事务。
打开事务处理 [覆盖 ESS 锁定冲突]
    打开记录/请求
    设置字段 [ Assets::Description ; "描述性文本" ]
提交事务处理