如何在关闭应用程序之前删除firebird中的自我连接?

时间:2014-03-13 13:34:15

标签: delphi transactions firebird2.1

我希望在“MON $ ATTACHMENTS”表中查看所有内容,但不能删除特定记录。删除返回错误时:“不支持操作”。

  DELETE FROM mon$attachments
   WHERE mon$attachment_id IN (
                               SELECT mon$attachment_id
                                 FROM mon$attachments
                                WHERE  mon$attachment_id = current_connection
                              )

结果是:“不支持操作”

1 个答案:

答案 0 :(得分:2)

Firebird 2.1不支持此功能,通过从MON$ATTACHMENTS删除added in Firebird 2.5来终止连接(标题说2.1,但这些是2.5发行说明)。它要求数据库是ODS 11.2(Firebird 2.5的数据库格式版本)。

您使用的查询是复杂的(为什么不只是DELETE FROM mon$attachments WHERE mon$attachment_id = current_connection),但它也没有意义:如果您想要终止当前连接,那么只需关闭连接(注意:我不知道Delphi ,但我认为有办法关闭连接)!它更容易,更快速,更好。