printing - 如何打印 Firebird 触发器?

标签 printing triggers firebird

我想打印 firebird 数据库中所有触发器的内容。

我有一个firebird数据库,有20个字段,56个触发器,每个触发器大概10到20行sql代码。是否有任何 gui 软件能够做到这一点,或者一个 sql 命令能够选择所有触发器,然后将它们导出为 txt 文件?

最佳答案

所有触发器都可以从 RDB$TRIGGERS 表中找到。

您可以使用此 SQL 查询来获取有关触发器的信息:

SELECT RDB$TRIGGER_NAME AS trigger_name,
       RDB$RELATION_NAME AS table_name,
       RDB$TRIGGER_SOURCE AS trigger_body,
       CASE RDB$TRIGGER_TYPE
        WHEN 1 THEN 'BEFORE'
        WHEN 2 THEN 'AFTER'
        WHEN 3 THEN 'BEFORE'
        WHEN 4 THEN 'AFTER'
        WHEN 5 THEN 'BEFORE'
        WHEN 6 THEN 'AFTER'
       END AS trigger_type,
       CASE RDB$TRIGGER_TYPE
        WHEN 1 THEN 'INSERT'
        WHEN 2 THEN 'INSERT'
        WHEN 3 THEN 'UPDATE'
        WHEN 4 THEN 'UPDATE'
        WHEN 5 THEN 'DELETE'
        WHEN 6 THEN 'DELETE'
       END AS trigger_event,
       CASE RDB$TRIGGER_INACTIVE
        WHEN 1 THEN 0 ELSE 1
       END AS trigger_enabled,
       RDB$DESCRIPTION AS trigger_comment
  FROM RDB$TRIGGERS

Source

关于printing - 如何打印 Firebird 触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26578880/

相关文章:

mysql - 如何优化这个sql

sql - 我如何在 Firebird 中使用事务?

delphi - 如何查询 Firebird SQL 方言

mysql - Entity Framework ,创建适用于 2 种数据库类型(Firebird 和 Mysql)的应用程序

从数据文件读取输入数据时,Perl WWW::Mechanize 不打印结果

打印(或 PDF)输出中的 CSS 页面计数器

mysql - 如何在 vb.net 应用程序中捕获 mysql 触发器和存储过程?

swift - nsprintoperation - 检查用户选择了什么

python - 为什么我可以从 'print' 调用 'eval'

mysql - 无法在 Google Cloud 中的 MySql 表上创建触发器