Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Validar datos en trigger (https://www.clubdelphi.com/foros/showthread.php?t=26363)

micayael 20-10-2005 15:57:58

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?

rastafarey 20-10-2005 16:07:42

Resp
 
Si solo eso

micayael 20-10-2005 16:39:28

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 */

lucasarts_18 20-10-2005 21:40:34

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.

:)

micayael 21-10-2005 15:26:33

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?

lucasarts_18 21-10-2005 19:05:07

Hola:

Prueba con:

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

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

Hastal Luego

micayael 21-10-2005 21:12:02

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

rastafarey 24-10-2005 14:59:43

resp
 
Por favor saca el resultado a en un variable y realisas la condicion con la variable.

micayael 24-10-2005 20:21:24

Si Rastafarey eso claro que funciona. Lo mostre más arriba. Con el exists ya lo solucione gracias lucasarts_18.


La franja horaria es GMT +2. Ahora son las 23:56:57.

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