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 20-10-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Validar datos en trigger

hola

Para hacer validaciones con triggers y cuando veo que un campo no esta correcto como hago para que se detenga la transaccion?

Solo con llamar a una exepcion hace un ROLLBACK?
Responder Con Cita
  #2  
Antiguo 20-10-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si solo eso
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 20-10-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Ok.

En firebird se puede hacer una subconsulta dentro de un IF para filtrar el resultado?

IF ((SELECT TIPO FROM PERSONAS WHERE ID = 1) = 'CLIENTE') THEN
/* ALGUNA OPERACION */

O TENGO QUE HACERLO SI O SI ASI:

SELECT TIPO FROM PERSONAS WHERE ID = 1 INTO :VARIABLE

IF (:VARIABLE = 'CLIENTE') THEN
/* ALGUNA OPERACION */
Responder Con Cita
  #4  
Antiguo 20-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Qué mejor que probarlo o no ?, aunque el if (consulta) debería de funcionar, como en cualquier motor de BD..

Nos cuentas los resultados después.

Hasta Luego.

__________________
No todo es como parece ser...
Responder Con Cita
  #5  
Antiguo 21-10-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Ya lo probe pero como no me funciona lo pregunto. A ver si la sintaxis deberia de cambiar. En SQL Server funciona sin problemas.

Hay algo que este mal ahi?
Responder Con Cita
  #6  
Antiguo 21-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Prueba con:

Código SQL [-]
 if exists (select * ......)

Ya probaste con la opción dos que tu mismo mencionas..?

Hastal Luego
__________________
No todo es como parece ser...
Responder Con Cita
  #7  
Antiguo 21-10-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
La segunda opcion que puse si funciona pero justamente no la quiero utiliazar.

El if exists me funciona si lo pongo asi:

IF (EXISTS(SELECT nombre FROM PERSONAS WHERE ID = 1 AND TIPO = "CLIENTE"))

Voy a intentarlo.

gracias
Responder Con Cita
  #8  
Antiguo 24-10-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Por favor saca el resultado a en un variable y realisas la condicion con la variable.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #9  
Antiguo 24-10-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Si Rastafarey eso claro que funciona. Lo mostre más arriba. Con el exists ya lo solucione gracias lucasarts_18.
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 14:11:46.


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