Firebird 锁,默认是行级锁,即记录锁。
通常最常用的是 with lock ,即:将查出的所有记录都锁定,但允许其他事务读取,不允许其他事务更新、删除。本事务允许更新。
另一种 for update with lock ,即:每一次fetch的当前记录才锁定。
Firebird 每次执行sql都会自动开启一个事务,在sql上不需要显式的再写 begin transaction ,和MsSqlServer不同。
Firebird 可以显式的提交事务 commit;
以下是针对记录锁的测试:两个事物sessionA 和 sessionB,序号是执行顺序。