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 18-12-2006
Avatar de fedelphi
fedelphi fedelphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santa Fe
Posts: 122
Poder: 19
fedelphi Va por buen camino
Verificar registro con trigger

Hola, mi duda es si se puede realizar una verificacion si existe un registro determinado con un trigger. Paso detallar, tengo un trigger asi:
Código SQL [-]
TRIGGER SUMA_TICKETS ACTIVE
AFTER INSERT POSITION 20
AS 
BEGIN 

  UPDATE TOTALESXSUCURSAL
  SET TOTAL_TICKET=TOTAL_TICKET+new.MONTO
  WHERE id_ticket=new.ID_TICKET AND id_sucursal=new.ID_SUCURSAL; 
END^

que se activa al insertar un registro en una tabla, entonces actualiza el acumulado del monto en otra llamada totalesxsucursal, como se ve, y mi idea es que antes de hacer el update verifique si existe el registro que tiene id_ticket, id_sucursal (indice de la tabla) y en caso que no exista lo inserte, y realice el update sobre el mismo recien insertado en el campo monto, en caso de que ya exista, acumula normalmente. No se si realmente esta es la metodilogia que se utiliza, ya que es mi primera aplicacion con firebird y estoy aprendiendo, asi que escucho sugerencias. Gracias
Fede
__________________
De lo que hay no falta nada!!!

Última edición por fedelphi fecha: 18-12-2006 a las 17:19:44.
Responder Con Cita
  #2  
Antiguo 19-12-2006
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Fede, en la logica si, en un triger puedes incluso llamar a procedimientos almacenados
Responder Con Cita
  #3  
Antiguo 19-12-2006
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Rsp

Lo que estas haciendo estas bien. Lo que no creo es que se al mejor manera de hacerlo.

Segunveo lo qu quieres es tner el total de un monto dependiendo de un campo clave o ir aculando de igual manera.

Te recomiendo me des la estructrura de la tabla o tabals en cuestion para ayudarte a solucinar lo d emanera mas sana y sin tanto rollos por lo que veo se puede solucionar con una vista o un store procedure. Te digo eso por que para que quieres in guardando si ya lo puedes optenr de la tabal que posee los datos de manera que esto solo es cuando se desee usar.

Bueno esto es lo que dedusco que quieres hacer si me tye explcias mejor y proporcioans la estructura de las tablas o tabala en cuention seria mecho mas facil de ayudarte.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #4  
Antiguo 20-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
me sorprendió un poco al ver:
Código SQL [-]
AFTER INSERT POSITION 20
Eso vendría a significar que tiene 19 triggers antes, para esa tabla en su evento AFTERPOST (yo tampoco lo veo muy conveniente, aunque eso no quiere decir que no sea necesario).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Verificar Apertura de Query anghell77 SQL 4 15-08-2006 06:02:23
verificar fichero de texto arley_molina Varios 2 12-06-2006 20:52:40
Verificar impresora Diegoval Impresión 1 11-05-2005 06:41:23
Trigger Para Grabar Fecha Cambio Registro ASAPLTDA MS SQL Server 3 19-04-2005 19:35:59
Como verificar si un txt existe? danytorres Varios 1 02-12-2003 15:51:20


La franja horaria es GMT +2. Ahora son las 19:39: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