Ver Mensaje Individual
  #2  
Antiguo 23-03-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
El trigger solo se ejecuta desde la base de datos, desde Delphi nunca vas a poder llamarlo.

Ahora, lo que debes hacer en el query de inserción es omitir el valor del campo autonumérico, ya que el trigger es el que está asignando ese valor.

Un ejemplo sería:

Código SQL [-]
/* La tabla */
CREATE TABLE MITABLA (
  ID: INTEGER NOT NULL,
  DATA: VARCHAR(30)
);

/* El generador */
CREATE GENERATOR GEN_ID_MITABLA;

/* El trigger */
CREATE TRIGGER INSERT_ID FOR MITABLA
ACTIVE ON BEFORE INSERT
AS
BEGIN
  IF (NEW.ID IS NULL) THEN
    NEW.ID = GEN_ID(GEN_ID_MITABLA, 1);
END;
Ya con esto desde delphi solo haces:
Código SQL [-]
INSERT INTO MITABLA (DATA) VALUES ('PROBANDO');

Saludos...
Responder Con Cita