Trigger 'before delete' para borrado en cascada

17/07/2003 - 11:10 por José Manuel Blanes Pacheco | Informe spam
Hola grupo:

Necesito implementar un trigger del tipo 'before delete' para que en una
tabla A (parte uno), al borrar una de sus filas, se borren las filas de la
tabla B (parte muchos). Existe una integridad referencial en la tabla B
referente a la clave primaria de la tabla A. Pero veo que el trigger 'on
delete' se ejecuta cuando ya se ha hecho el borrado en la tabla A y se está
a la espera del commit o del rollback y por tanto se activa la restricción
de integridad referencial y no me permite realizar el borrado en cascada. He
pensado en eliminar la integridad referencial y usar triggers para
implementarla, pero me parece un retroceso.

La versión del SQL Server es la 7 con el Service Pack 4.

De antemano, muchas gracias a todo aquel que responda.
 

Leer las respuestas

#1 Carlos Sacristan
17/07/2003 - 11:46 | Informe spam
Las restricciones salta antes de los trigger, o sea que si tienes la
versión 7 (en la versión 2000 ya existen los borrados y actualizaciones en
cascada) y necesitas implementar un borrado en cascada, tendrás que eliminar
las relaciones (y asegurar la integridad por medio de triggers)



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"José Manuel Blanes Pacheco" escribió en el mensaje
news:xKtRa.27780$
Hola grupo:

Necesito implementar un trigger del tipo 'before delete' para que en


una
tabla A (parte uno), al borrar una de sus filas, se borren las filas de la
tabla B (parte muchos). Existe una integridad referencial en la tabla B
referente a la clave primaria de la tabla A. Pero veo que el trigger 'on
delete' se ejecuta cuando ya se ha hecho el borrado en la tabla A y se


está
a la espera del commit o del rollback y por tanto se activa la restricción
de integridad referencial y no me permite realizar el borrado en cascada.


He
pensado en eliminar la integridad referencial y usar triggers para
implementarla, pero me parece un retroceso.

La versión del SQL Server es la 7 con el Service Pack 4.

De antemano, muchas gracias a todo aquel que responda.


Preguntas similares