PDA

Ver la Versión Completa : ejecutar trggers en php


laaccaal
01-09-2004, 17:19:15
hola tengo el siguiente problema

tengo una tabla de 3 campos en firebird con un autoincremento en un campo de esta tabla ahora mi duda es como puedo hacer para que cuando haga un insert mediante php este se incremente , ya que al tratar de hacerlo me sale un error lo cual es porque no lo estoy haciendo bien, les agradeceria mucho si es que me dijeran como hacerlo y mas aun si me dan un ejemplo sencillo de comprender


gracias

gendelphi
01-09-2004, 17:45:30
Por lo que veo en el titulo de tu hilo: "ejecutar triggers en php", dejame decirte que un trigger no es ejecutado explicitamente, sino que se ejecuta de manera implicita al ocurrir el evento al que este asociado. Tal ves tu problema sea que el trigger que realiza el incremento este desabilitado, para lo cual lo puedes habilitar asi:


ALTER TRIGGER nombre_trigger ACTIVE;


Ahora bien si aun no tienes nada de nada, para realizar lo que quieres, es decir, un campo con autoincremento, necesitaras lo siguiente:

1. Crear un generador, por ejemplo:


CREATE GENERATOR gen_id_tabla;



2. Establecerle un valor inicial (opcional) a dicho generador, por ejemplo:


SET GENERATOR gen_id_tabla TO 1;


3. Crear el trigger encargado de asignar el valor (tomado del generador) al campo deseado, por ejemplo supongamos que tu tabla se llama tabla1 y que tu campo a autoincrementar se llama campo1:


CREATE TRIGGER asig_id_tabla1 FOR tabla1
BEFORE INSERT
AS
BEGIN
NEW.campo1 = GEN_ID(gen_id_tabla, 1); //El 1 representa el incremento
END!!


Hasta pronto...