Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2004
laaccaal laaccaal is offline
Registrado
 
Registrado: jul 2004
Posts: 6
Poder: 0
laaccaal Va por buen camino
Question ejecutar trggers en php

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
Responder Con Cita
  #2  
Antiguo 01-09-2004
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
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:

Código:
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:

Código:
CREATE GENERATOR gen_id_tabla;

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

Código:
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:

Código:
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...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:32:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi