Ten en cuenta que los triggers se "disparan" automáticamente. Una vez programados no hay que preocuparse por ellos, hacen el trabajo repetitivo y pesado, no se interactua con ellos desde delphi/builder, son independientes.
Por ejemplo, en el ejemplo anterior que he puesto (el insert), el trigger tiene acceso al registro que se está creando. Si necesitas hacer algo con el codprov, su valor está en new.codprov
Código SQL
[-]CREATE TRIGGER Afiliacion_New_Reg FOR Afiliacion
ACTIVE BEFORE INSERT
POSITION 0
AS
DECLARE WCODPRV AS INTEGER;
BEGIN
IF (new.Codigo IS NULL) THEN new.Codigo = GEN_ID(ID_Afiliacion, 1);
IF (new.CodPrv = 45) THEN
BEGIN
END
END;
En los triggers Before/After update tienes disponible las variables new. y old.
Ejemplo, automáticamente vamos a mudar a los proveedores de Madrid hacia Toledo:
trigger before update ...
Código SQL
[-]if old.codigo=28 then new.codigo=45
Depende si es un trigger insert/update/delete tienes a disposición solamente new. / old. y new. / solamente old.