Triggers en VFP

27/05/2005 - 17:23 por Edwin Torres | Informe spam
Hola a todos!
Alguien sabe como puedo hacer lo sig:
Tengo 2 tablas una de Encabezado y otra de Detalle de cuantas contables
lo que necesito es un trigger que no me permita borrar una cuenta contable
del encabezado si dicha cuenta tiene movimiento en el detalle.

gracias!

Edwin Torres
VFP8
Wk2000
 

Leer las respuestas

#1 Darwin Quintero
06/06/2005 - 20:17 | Informe spam
Ejemplo de CREATE TRIGGER (Comando)

El ejemplo siguiente crea un desencadenante Actualizar que impide escribir
valores mayores de 50 en el campo maxordamt de la tabla customer. Se genera
un mensaje de error cuando se ejecuta el primer comando REPLACE ya que el
valor del campo maxordamt es mayor de 50. El segundo comando REPLACE no
genera un error porque el valor del campo maxordamt es menor o igual que 50.

CLOSE DATABASES

OPEN DATABASE (Home(2) + 'data\testdata')
USE customer && Abre la tabla customer.

* Establece el desencadentante en el campo maxordamt para que falle
* con los valores <= 50.
CREATE TRIGGER ON customer FOR UPDATE AS maxordamt <= 50

ON ERROR && Restaura el controlador de error del sistema.

WAIT WINDOW "Presione una tecla para probar el desencadenante con el valor
de 60."+CHR(13);
+"Cuando obtenga el mensaje de error, presione Pasar por alto."
REPLACE maxordamt WITH 60 && Muestra un mensaje de error.
? maxordamt

WAIT WINDOW "Presione una tecla para probar con el valor de 50."
REPLACE maxordamt WITH 50 && El valor es aceptable.
? maxordamt
DELETE TRIGGER ON customer FOR UPDATE && Quita el desencadenante.Analiza
este ejemplo
"Edwin Torres" escribió en el mensaje
news:eJgDX%
Hola a todos!
Alguien sabe como puedo hacer lo sig:
Tengo 2 tablas una de Encabezado y otra de Detalle de cuantas contables
lo que necesito es un trigger que no me permita borrar una cuenta contable
del encabezado si dicha cuenta tiene movimiento en el detalle.

gracias!

Edwin Torres
VFP8
Wk2000


Preguntas similares