Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-12-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Trigger y Generador de campo compuesto

Hola gente del mejor foro de Delphi de la red.

Aer si me pueden ayudar.
Utilizo Firebird 2.0, IbExpert y Delphi 2006.

Tengo una tabla llamada OT_NEW, en donde quiero utilizar un trigger y un generador para el campo OT (integer). El problema es que el numero correspondiente depende del campo EMPRESA (integer), por lo que debiese tener tantos generadores como empresas distintas tenga, es decir, por ejemplo, si inserto un registro en la tabla OT_new, y el campo empresa = 3, utilizar el generador de la empresa 3, etc... ya que el correlativo de la OT es independiente entre empresas.

Como puedo hacer esto?
Como debiese ser el codigo del Trigfer y del generador.


Saludos.
Responder Con Cita
  #2  
Antiguo 16-12-2009
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 19
JoseAntonio Va por buen camino
podrias tener una vista con un campo con el codigo de la empresa y el otro con el maximo max(ot) para esa empresa, cuando insertes un registro nuevo en new_ot pues te fijas en su valor correspondiente en la vista y le aumenta uno y ese valor es el que insertas.

Otra opcion seria utilizar un solo generador para ot autoincremental, salu2
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #3  
Antiguo 16-12-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
tal como tu lo expones es como lo tengo funcionand hoy en día, antes de insertar el registro, consulto por el máximo con respecto a cierta empresa, y lo incremento... el problema es que de esta manera me está generar registros duplicados con respecto a la empresa y OT, por lo que he podido darme cuenta, es cuando mas de 1 usuario está insertando una Ot al mismo tiempo... no siempre ocurre esto, pero si que existen algunos casos.

Es por esto que decidí utilizar un generador para ot autoincremental, el problema es que depende del campo empresa, dependiendo de cual sea, tiene un correlativo distinto.

Espero se entienda mi problema.

Saludos
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
Crear generador de campo. brakaman Firebird e Interbase 7 13-06-2007 19:48:44
trigger compuesto jsanchez Firebird e Interbase 3 20-02-2007 21:11:36
Trigger, generador y SP relacionarlo con Delphi JoanKa Firebird e Interbase 10 31-05-2005 20:33:14
Campo compuesto NickName Firebird e Interbase 5 20-05-2003 22:51:53
tIbDataset + generador + trigger Kafu Firebird e Interbase 2 05-05-2003 17:55:34


La franja horaria es GMT +2. Ahora son las 12:40:40.


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