2014-10-26 48 views
0

我想打印firebird數據庫中所有觸發器的內容。如何打印火鳥觸發器?

我有一個20個字段和56個觸發器的firebird數據庫,每個觸發器大約10到20行sql代碼。有沒有任何gui軟件能夠做到這一點,或者一個sql命令能夠選擇所有觸發器,然後將它們導出爲txt文件?

回答

1

所有觸發器都可以從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

0

才能使用isql做「秀觸發器」,然後做「秀觸發」爲每一個

或者只是先寫入文件,編輯並通過isql運行