Merhaba, @ozcanm paylaşmış olduğu örnek üzerinden;
Create ederek firebird database oluşturuyorum ve bu databasede Trigger kullanıyorum. Herhangi bir kullanıcı Insert, delete veya update yaptığında uyarı alıyorum.
Hangi satırda değişiklik yapıldığını nasıl bulabilirm?
Örnek: ID numarası 14 olan, ROW, TITLE RESIM veya DURUM alannında değişiklik oldu gibi
Create ederek firebird database oluşturuyorum ve bu databasede Trigger kullanıyorum. Herhangi bir kullanıcı Insert, delete veya update yaptığında uyarı alıyorum.
Hangi satırda değişiklik yapıldığını nasıl bulabilirm?
Örnek: ID numarası 14 olan, ROW, TITLE RESIM veya DURUM alannında değişiklik oldu gibi
FDQuery.Active := False;
FDQuery.Close;
FDQuery.SQL.Clear;
FDQuery.SQL.Add('CREATE TABLE RESIM (');
FDQuery.SQL.Add('ID INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL');
FDQuery.SQL.Add(', ROW INTEGER');
FDQuery.SQL.Add(', TITLE VARCHAR(255)');
FDQuery.SQL.Add(', LINK VARCHAR(255)');
FDQuery.SQL.Add(', RESIM VARCHAR(255)');
FDQuery.SQL.Add(', DURUM INTEGER');
FDQuery.SQL.Add(', PRIMARY KEY(ID)');
FDQuery.SQL.Add(');');
FDQuery.ExecSQL;
{ ---TRIGGER--- }
FDQuery.Active := False;
FDQuery.Close;
FDQuery.SQL.Clear;
FDQuery.SQL.Add(' create SEQUENCE GEN_RESIM_ID ');
FDQuery.ExecSQL;
FDQuery.Active := False;
FDQuery.Close;
FDQuery.SQL.Clear;
FDQuery.SQL.Add(' create trigger RESIMLER_ea for LOGO ');
FDQuery.SQL.Add(' active after insert or update or delete position 0 ');
FDQuery.SQL.Add(' as ');
FDQuery.SQL.Add(' begin ');
FDQuery.SQL.Add(' post_event ''HAREKET_VAR''; ');
FDQuery.SQL.Add(' end ');
FDQuery.ExecSQL;
procedure TMainForm.FDEventAlerterAlert(ASender: TFDCustomEventAlerter; const AEventName: string; const AArgument: Variant); begin caption := 'Bilgilerde değişiklik oldu!'; end;

