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-06-2012
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 300
Poder: 22
tulio Va por buen camino
No se actualiza un trigger

Hola Foro

uso firebird 1.5 con windows seven, en una tabla de la base de datos tengo un generador y un trigger

Código SQL [-]
CREATE TRIGGER T_INVERSION FOR DESARROLLO BEFORE INSERT POSITION 0 AS
begin
    NEW.Jid = GEN_ID(Gen_inversionistas_id,1);
end

el problema que tengo es que en en el campo Jid de la tabla en algunos registro me deja el campo en blanco y el generador sigue incrementandose. Alguien me puede decir que puede estar pasando

Saludos y gracias

tulio

Última edición por Casimiro Notevi fecha: 01-06-2012 a las 14:31:17.
Responder Con Cita
  #2  
Antiguo 01-06-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola tulio: En mi caso si no veo el código del generador y el código de la instrucción que hace el insert no se que puede pasar. ¿ Podrías ponerlo?.

Saludos.

PD. Tal vez alguien pueda informarte de una.-
Responder Con Cita
  #3  
Antiguo 01-06-2012
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 300
Poder: 22
tulio Va por buen camino
Gracias Martin

el generador es :

Código SQL [-]
/*  Generator GEN_INVERSIONISTAS_ID  */
CREATE GENERATOR GEN_INVERSIONISTAS_ID;
SET GENERATOR GEN_INVERSIONISTAS_ID TO 421
---

Y en el programa

hago

Código Delphi [-]
tabla.insert;
cargo los dbedit con los valores necesarios

y luego hago
Código Delphi [-]
tabla.post
transaccion.commintretaing;
saludos

Última edición por Casimiro Notevi fecha: 01-06-2012 a las 15:09:23.
Responder Con Cita
  #4  
Antiguo 01-06-2012
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 300
Poder: 22
tulio Va por buen camino
va el generator de nuevo porque lo puse con el tag de delphi

Código SQL [-]
CREATE GENERATOR GEN_INVERSIONISTAS_ID;
SET GENERATOR GEN_INVERSIONISTAS_ID TO 421

gracias
Responder Con Cita
  #5  
Antiguo 01-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya lo he arreglado, recuerda, es así:



Responder Con Cita
  #6  
Antiguo 01-06-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Proba asi el trigger suponiendo que el valor Jid es el que se debe incrementar:

Código SQL [-]
CREATE TRIGGER T_INVERSION FOR DESARROLLO BEFORE INSERT POSITION 0 AS
begin
       If ((NEW.Jid is null) or (NEW.Jid = 0)) then
       NEW.Jid = GEN_ID(Gen_inversionistas_id,1);
end

Saludos

Edito: Juga con la condicion If porque no entendi bien si queres que se incremente cuando sean valores Null o no, en su caso (New.Jid is not null)

Última edición por MartinS fecha: 01-06-2012 a las 15:44:21.
Responder Con Cita
  #7  
Antiguo 01-06-2012
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 300
Poder: 22
tulio Va por buen camino
Gracias Martin

lo probe y anda ,tengo que probarlo ahora con cargas masivas

saludos

tulio
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Procedimiento no actualiza Rockin Firebird e Interbase 5 25-10-2011 10:32:50
no se actualiza armando Firebird e Interbase 2 04-12-2009 01:22:30
No actualiza IBQ trex2000 Conexión con bases de datos 2 19-01-2007 20:52:20
No actualiza trex2000 Firebird e Interbase 2 28-01-2005 23:43:20
No actualiza . . . Agar23 Conexión con bases de datos 12 25-05-2004 09:27:52


La franja horaria es GMT +2. Ahora son las 21:41:58.


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