Session 为什么ALTER触发器对其他会话/连接没有影响?
使用FlameRobin SQL编辑器修改触发器时,更改对其他会话/连接没有影响:触发器仍在执行旧版本 这怎么可能?如何强制更改以影响所有连接 我在Session 为什么ALTER触发器对其他会话/连接没有影响?,session,triggers,database-connection,firebird,flamerobin,Session,Triggers,Database Connection,Firebird,Flamerobin,使用FlameRobin SQL编辑器修改触发器时,更改对其他会话/连接没有影响:触发器仍在执行旧版本 这怎么可能?如何强制更改以影响所有连接 我在ALTER TRIGGER之后调用COMMIT,并且在另一个连接中也没有打开的事务。这与事务无关,但与会话/连接相关 “其他连接”是Delphi应用程序(使用InterBase组件),但使用FlameRobin的两个实例可以复制完全相同的行为 我正在使用: 火鸟2.5.2(超经典) 0.9.3 Delphi XE5更新2 Firebird DDL中
ALTER TRIGGER
之后调用COMMIT
,并且在另一个连接中也没有打开的事务。这与事务无关,但与会话/连接相关
“其他连接”是Delphi应用程序(使用InterBase组件),但使用FlameRobin的两个实例可以复制完全相同的行为
我正在使用:
- 火鸟2.5.2(超经典)
- 0.9.3
- Delphi XE5更新2
虽然在使用数据库时可以使用DDL,但我建议在数据库脱机/单用户时使用DDL,或者在执行DDL后强制用户重新连接,以确保所有连接都能看到并使用新的更改。就像Mark Rotteveel建议的那样,每次更改后都必须重新启动所有操作。或者你有更好的选择:切换到SuperServer,它也比SuperClassic有更少的bug和内存泄漏。超经典是垃圾