0
create trigger tr_buFile_fileid for BUFiles before insert as 
begin
IF (NEW.FileID IS NULL) THEN NEW.FileID = GEN_ID(FileID_generator, 1);
end
create trigger tr_buFile_insert for BUFiles after insert as 
begin 
update miscitems set TotalSize = TotalSize + new.BuFileSize;
end

create trigger tr_buFile_update for BUFiles after update as 
begin 
if (new.DeletionTime < '9223372036854775807' and new.DeletionTime != old.DeletionTime) then
update miscitems set TotalSize = TotalSize - old.BuFileSize;
end

我在 firebird 数据库上创建了三个触发器。我的应用程序使用 odbc 连接对数据库进行操作。问题是如果在 BuFiles 表上进行插入,第二个触发器 (tr_buFile_insert) 将不起作用。但是,如果我在 SQL Manager for InterBase/Firebird 中测试它们,则此触发器有效。

任何帮助表示赞赏。

谢谢,石平

4

1 回答 1

1

你的触发器似乎没问题。恐怕您正在从应用程序连接到另一个数据库。请检查一下 。另请检查触发器状态是否为“活动”

于 2013-05-16T11:59:05.470 回答