我正在通过调用ExecuteNonQuery使用 SQL 脚本更改多个 sqlite 表。我想在事务中执行此操作,并希望在出现任何故障时将其回滚。
我看了看,BEGIN TRANSACTION很明显我必须在ROLLBACK TRANSACTION出现任何问题时打电话。但我不知道这里怎么能尝试...CATCH (Transact-SQL)类型的东西。
注意:整个 Sql 脚本文件(除了需要在一个事务中触发的这几条语句之外,还包含许多其他语句)由 .ReadToEnd() 读取,然后立即执行。我想在 sql 脚本文件本身中处理这个问题,不想更改代码。
请看一下SQLite 上的冲突条款
从开始交易开始
你必须添加ON CONFLICT ROLLBACK你的行动
最后提交交易;-)
| 归档时间: |
|
| 查看次数: |
9028 次 |
| 最近记录: |