2013-05-14 86 views
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中測試它們,這個觸發器就可以工作。多個觸發器不能在火鳥上工作

任何幫助表示讚賞。

感謝, 石坪

+0

歡迎來到StackOverflow。你怎麼知道你的觸發器不工作? – jachguate

回答

1

你的觸發器似乎確定。 恐怕你正在從應用程序連接到另一個數據庫。請檢查一下 。 請檢查觸發器狀態是「ACTIVE」