说我有:
T1:SELECT id FROM x WHERE timestamp < y (返回id = [1, 2, 3])
T2:DELETE FROM x WHERE id = 1
T1:SELECT timestamp, value FROM x WHERE id = 1
用READ-COMMITTED隔离。
步骤3是否有返回空结果的风险,或者步骤1是否获得某种阻止步骤2更改结果的锁/快照?(我猜想REPEATABLE-READ会做我想做的事情,但这个问题是关于READ-COMMITTED的)。
我使用postgresql,但我感兴趣的是一个独立于DB的答案。
我有一个应用程序,它使用Firebird (版本2.5)数据库。我想将其中一个表条目触发到另一个数据库表,它位于Server 2008 R2中。当我提交时,我将得到以下错误
ErrorCode: 335544569 (ErrorMessage:代码= -104)。
代码:
CREATE TRIGGER "trig_INV"
FOR "INVA"
ACTIVE
AFTER UPDATE
POSITION 100
AS
BEGIN
IF ((updating) AND ((old.cold <> new.cold))) THEN
BE