Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Cita:
Empezado por kanvictor
espero haber sido un poco mas claro esta vez ,
si que lo has sido!!!

habia olvidado la parte de la nueva hora en automático. El trigger anterior sigue siendo válido, habrá que añadir el siguiente:

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

Begin
  :new.fechahoradesde := 'now';
end;

Lo dejo así porque tengo por regla general usar los triggers before para todo lo que valide/modifique los datos del registro que se inserta, y todos los triggers after para realizar cualquier actualización necesaria a partir de dicho registro.

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
  #2  
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: 22
marceloalegre Va por buen camino
ahora sii lo unico que me faltaria saber porque desconosco es el :
Código SQL [-]
 position 50

que no se que hace! Y MUCHAS GRACIAS!!
Responder Con Cita
  #3  
Antiguo 10-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

ese parámetro que te permite controlar el orden de ejecución de los triggers. Si no lo especificas, creo que el motor le asigna 0. Asi, cuando se inserta un registro, primero se ejecuta el 0, luego el 1, luego el 2, etc.

Si hay varios triggers con la misma posición, el orden de ejecución entre ellos es aleatorio.

Te recomiendo descargar y leer algo de la documentación del motor, si planeas trabajar en serio con él.

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
  #4  
Antiguo 10-06-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Cita:
Empezado por jachguate
Si hay varios triggers con la misma posición, el orden de ejecución entre ellos es aleatorio.
Corrigiendote un poco luego de leer la documentación... jejeje

Si dos o más triggers tienen el mismo número de posición, estos se ejecutan en orden alfabético de acuerdo a su nombre...



Saludos...



P.D.: Por cierto, contestaste antes que yo lo de posición... :P
Responder Con Cita
  #5  
Antiguo 10-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cita:
Empezado por maeyanes
Si dos o más triggers tienen el mismo número de posición, estos se ejecutan en orden alfabético de acuerdo a su nombre...
Definitivamente esto es nuevo para mi. Yo me quedé en esto:
Cita:
Empezado por Interbase documentation
The optional sequence indicator, POSITION number, specifies the order in which the trigger fires in relation to other triggers on the same table and event. number can be any integer between zero and 32,767. The default is zero. Lower-numbered triggers fire first. Multiple triggers can have the same position number; they will fire in random order.
Que está en la página 182 del Data Definition Guide.

¿donde leiste lo nuevo?

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
  #6  
Antiguo 11-06-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Cita:
Empezado por jachguate
¿donde leiste lo nuevo?

hasta luego.

Bueno, yo uso la versión 7 del Interbase, tal vez de la 6 a la 7 hubo ese cambio en la forma en que se disparan los triggers cuando tienen la misma posición...


Saludos...
Responder Con Cita
  #7  
Antiguo 10-06-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
El position 50 es solo para indicar la prioridad del trigger (por decirlo de alguna forma).

Si tienes 2 trigger AfterInsert para una tabla, puede indicarle a Interbase en que orden quieres que se ejecuten usando position.


Saludos.
Responder Con Cita
  #8  
Antiguo 10-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
La instrucción position indica el orden en el cual se va a dispara este trigger en el caso que exista mas de uno.

un número más bajo indica prioridad más alta. Si no recuerdo mal, la más alta es el 1.
__________________
[Crandel]
Responder Con Cita
  #9  
Antiguo 11-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Cita:
Empezado por Crandel
Si no recuerdo mal, la más alta es el 1.
Creo que en esta ocasión si recordas mal...

Tal como dice mi post anterior, en la cita de la documentación:
Cita:
Empezado por jachguate
can be any integer between zero and 32,767
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
  #10  
Antiguo 11-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
bueno ... cero ... uno ... estan cerquita

oops ... me acabo de dar cuenta que cuando conteste, no leí toda la segunda pagina (tengo configurado 10 post por pagina).
__________________
[Crandel]

Última edición por Crandel fecha: 11-06-2005 a las 00:38:19.
Responder Con Cita
  #11  
Antiguo 11-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Talking

Cita:
Empezado por Crandel
bueno ... cero ... uno ... estan cerquita
Esto no siempre es cierto... no es lo mismo tener
0 millones de dolares que
1 millón de dolares

0 demandas judiciales que
1 demanda judicial por 1 millón de dolares...

etc, etc.. .

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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 00:59:26.


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