Ver Mensaje Individual
  #7  
Antiguo 13-11-2015
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 22
lbuelvas Va por buen camino
Si es posible crear procedimientos almacenados / triggers desde una aplicación.

Particularmente creo triggers desde la aplicación para configurar trazos de auditoria, es decir, tengo una pantalla donde puedo seleccionar cualquier tabla de la base de datos y luego marcar que campos tendrán un trazo en una bitacora cuando se efectuen modificaciones.

Para hacerlo debe respetarsen las partes que constituyen un procedimiento almacenado / trigger, como son: uso de set term, encabezado, cuerpo, finalizacion, particularmente utilizo componentes IBX y un Script.

Colocas el objeto TIBScript en tu pantalla y lo conectas a la base de datos y a una transacción, el código puede ser más o menos así:

Código Delphi [-]
Var
    Script : TStrings;
    IBScript1: TIBScript;
begin
  with Script do begin
    Clear;
    Add('');
    Add('SET TERM ^ ;');
    Add('');
    Add('CREATE TRIGGER LOG');
    Add('ACTIVE AFTER DELETE POSITION 0');
    Add('AS');
    Add('Declare Variable ID_TS_LOG integer;');
    Add('Declare Variable CADENA VARCHAR(200);');
    Add('begin');
    -- Aca coloca lo que necesite   
    Add('end');
    Add('^');
    Add('');
    Add('SET TERM ; ^');
  end;

  IBScript1.Script.Clear;
  IBScript1.Script.AddStrings(Script);
  IBScript1.ExecuteScript;
end;
__________________
Luis Fernando Buelvas T.
Responder Con Cita