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 10-06-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Post Trigger como lo armo?

Buenos dias, en este caso les molesto por lo siguiente:
tengo que armar un trigger antes que se active al incertar, pero tengo muchas dudas, les comento el caso, considero que es simple para los que tienen un poco de experiencia:

nombre de la tabla: autorizacion
campos: nrodeauth (varchar) , fechahoradesde fechahorahasta (timestamp)

el usuario ingresaria el nrodeauth y el trigger tendria que poner la fecha desde en ese momento y ponerle fechahasta al anterior al vencer. ej:

usuario ingresa el 1:
nrodeauth fechahoradesde fechahorahasta
1 01/01/2005

despues el usuario ingresa el 2 al otro dia:
nrodeauth fechahoradesde fechahorahasta
1 01/01/2005 02/01/2005
2 02/01/2005

O sea me ponga la fechahora hasta la que tuvo vigencia y la fecha desde de la que esta actualmente en vigencia.
pongo solo la fecha en el ejemplo pero es fechahora ya que declare como timestap.

alguien me puede ayudar a contruir este trigger? gracias!!!

(Edite el mensaje asi saco las Mayusculas)

Última edición por marceloalegre fecha: 10-06-2005 a las 17:23:33.
Responder Con Cita
  #2  
Antiguo 10-06-2005
Ing Harry Ing Harry is offline
Miembro
 
Registrado: jun 2005
Posts: 12
Poder: 0
Ing Harry Va por buen camino
Seria bueno saber

El manejador de BD que estas usando.

Y si el lenguaje que estas manejando es delphi o cualquier otro.

Estamos en contacto.
Responder Con Cita
  #3  
Antiguo 10-06-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
El lenguaje es dephi obviamente... y uso Interbase... lo que necesito es un before insert,,, que haga eso, no se como armarlo.... HELPPP!
Responder Con Cita
  #4  
Antiguo 10-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola kanvictor.

Creo que ya tenes la edad suficiente en los foros para respetar totalmente a la guia de estilo (estas gritando en el mensaje original). Además, también es momento que uses las etiquetas. Tu mensaje original es imposible de entender debido a la ausencia de la etiqueta [ code ] en donde has querido formatear en columnas el resultado.

Te pido que edites el mensaje original para cambiar estas cosas.

No está de mas que también leas el hilo de la calidad de las preguntas.

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 10-06-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Es Cierto

es cierto, lo que dices, pero en este mensaje no escribi sintaxis sql, sino solo mi problematica, ya me alertaron de esto que me comentas igualemente, sobre el tema de las mayusculas no estaba informado que estaba gritando jajaj soy demasiado tranquilo para gritar por un problemilla de sql igual gracias por tu observacion...

Mas alla de esto sigo sin poder resolver mi consulta, espero que alguien me pueda dar una mano en esto...
Gracias!!
Responder Con Cita
  #6  
Antiguo 10-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por kanvictor
pero en este mensaje no escribi sintaxis sql, sino solo mi problematica
Cuando te sugerí el uso de la etiqueta code lo hice para que se mantenga el formato de las columnas (creí decirlo claramente).

Aqui te muestro la diferencia:

Sin etiqueta code:
usuario ingresa el 1:
nrodeauth fechahoradesde fechahorahasta
1 01/01/2005

despues el usuario ingresa el 2 al otro dia:
nrodeauth fechahoradesde fechahorahasta
1 01/01/2005 02/01/2005
2 02/01/2005

Con etiqueta code:
Código:
 usuario ingresa el 1:
 nrodeauth         fechahoradesde     fechahorahasta
   1                     01/01/2005
 
 despues el usuario ingresa el 2 al otro dia:
 nrodeauth         fechahoradesde   fechahorahasta
   1                     01/01/2005      02/01/2005
   2                     02/01/2005
¿notas la diferencia?
Mas fácil de entender, no?

Cita:
Empezado por kanvictor
sobre el tema de las mayusculas no estaba informado que estaba gritando
sesenta y pico de mensajes sin leer la guia de estilo!! Creo que estas compitiendo por el record...
Cita:
Empezado por kanvictor
espero que alguien me pueda dar una mano en esto...
De eso mismo se trata!! (espero que hayas leido el hilo que te recomendé).

Ahora, y para que no te vayas simplemente regañado..

El trigger tendrá que ser algo asi (lo siento si hay errores de sintaxis, pero no tengo tiempo para comprobarlo ahora).

Código SQL [-]
Create trigger aut_asigna_fechahasta Active
After insert on autorizacion
position 50
AS

Begin
  Update Autorizacion
     set fechahorahasta = :new.fechahoradesde
   where nordeauth = (Select max(nrodeauth)
                        from Autorizacion
                       where nrodeauth < :new.nrodeauth);
end;

Hasta luego.


end;
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 10-06-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Wink

jajaj! si creo que gane el record! mil disculpas ante todo, ahora esta todo bien claro!, y gracias por ayudarme!!
Responder Con Cita
  #8  
Antiguo 10-06-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Post a ver que opinan...

Volviendo al tema del trigger (y ahora escribiendo con propiedad )

Quizas no fui muy claro, estaba mirando el trigger que posteaste jachguate pero no se ajustaria a lo que ando necesitando, voy a explicarme un poco mas como seria:

En la tabla manejo 3 campos como comente anteriormente:
campos: nrodeauth (varchar) , fechahoradesde,fechahorahasta (timestamp)
de la tabla autorizacion

yo necesito que cuando se cargue un nuevo nrodeauth , el trigger actualize fechahorahasta del que no la tiene porque estaba en vigencia y genere siempre desde la hora del sistema la fechahoradesde para el nuevo nrodeauth, muestro con varios ejemplos

El usuario ingresa por primera vez un nrodeauth : (ingresa solo un 1 en nrodeauth) y el trigger que ponga la fechahoradesde de tipo timestamp, no recuerdo como queda el formato exactamente pero escribo fecha y hora, validos para el ejemplo

Código:
  NRODEAUTH	 FECHAHORADESDE FECHAHORAHASTA
    1		 8/06/200513:25 
ahora el usuario igresa otro dato: un 2 de nrodeauth

Código:
  NRODEAUTH	 FECHAHORADESDE		  FECHAHORAHASTA
   1		   8/06/200513:25	   9/06/200513:28 
   2		   9/06/200513:28
ahora el usuario ingresa un 3 de nrodeauth:

Código:
  NRODEAUTH	   FECHAHORADESDE   FECHAHORAHASTA
   1		   8/06/200513:25	   9/06/200513:28  
   2		   9/06/200513:28	  10/06/200512:26
        3	10/06/200512:26
En resumen quiero que el trigger actualize la fecha hora hasta solo del que no la tenia, que siempre va a ser uno, el ultimo y me genere una nueva fechahoradesde cuando pongo mi nro de auth, espero haber sido un poco mas claro esta vez , Muchas Gracias!! .

Última edición por marceloalegre fecha: 10-06-2005 a las 18:42:29.
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 15:10:00.


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