Trigger Delete SQL 7.0 ?

26/05/2004 - 22:43 por Manuel Vera | Informe spam
Quiero hacer un "delete cascade" usando SQL 7 a traves de un trigger. Aqui
el trigger de ejemplo que no me funciona:

CREATE TRIGGER tgMaestroDel ON Maestro
FOR DELETE
AS
print 'trigger delete'
DELETE FROM Detalle
FROM deleted
WHERE Detalle.CarritID = deleted.CarritID
AND Detalle.CodProduct = deleted.CodProduct
AND Detalle.Estats = deleted.Estats
GO

Si borro el registro en Maestro, debe eliminar los hijos en Detalle.
Pero ni siquiera se ejecuta el -print 'trigger delete'-

Los tres campos en el WHERE son la PK de Maestro.

¿Alguien puede decirme que esta mal?
El trigger no se ejecuta y me da error en el delete del registro en Maestro.

Gracias
MV

Preguntas similare

Leer las respuestas

#1 Maxi
26/05/2004 - 22:58 | Informe spam
Hola, a ver si esto te funciona? (sin probar)

CREATE TRIGGER tgMaestroDel ON Maestro
FOR DELETE
AS

DELETE Detalle
FROM deleted inner join detalle on
Detalle.CarritID = deleted.CarritID
AND Detalle.CodProduct = deleted.CodProduct
AND Detalle.Estats = deleted.Estats


Suerte



Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Manuel Vera" escribió en el mensaje
news:
Mostrar la cita
Maestro.
Mostrar la cita
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.688 / Virus Database: 449 - Release Date: 18/05/2004
#2 Gustavo Larriera [MVP SQL]
26/05/2004 - 22:59 | Informe spam
No tienes un error de sintaxis?

DELETE FROM Detalle
FROM deleted
WHERE ...


Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Manuel Vera" wrote in message
news:
Mostrar la cita
Maestro.
Mostrar la cita
#3 Manuel Vera
26/05/2004 - 23:42 | Informe spam
Hola

Voy a probar el cambio que me diste...
Sin embargo, ¿¿¿ porque no se ejecuta el
Mostrar la cita
MV

"Maxi" wrote in message
news:
Mostrar la cita
Aqui
Mostrar la cita
#4 Manuel Vera
27/05/2004 - 15:55 | Informe spam
Hola

Hice el cambio en el JOIN de las tablas y sigue sin funcionar.
¿Que otra cosa podria ser?

MV

"Maxi" wrote in message
news:
Mostrar la cita
Aqui
Mostrar la cita
#5 Carlos Sacristan
27/05/2004 - 16:05 | Informe spam
Con tu permiso, Maxi...

Manuel, no te va a funcionar ese trigger porque en realidad nunca se
dispara si existe integridad referencial entre la tabla maestro y la
detalle: los trigger saltan después de ejecutada la acción que los lanza, no
antes. De ahí que te salte el error y se cancele el proceso (no sale el
texto de la instrucción PRINT).

Para que te funcione debes eliminar la restricción primeramente, o bien
hacerlo a través de un procedimiento almacenado.



Un saludo

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

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Manuel Vera" escribió en el mensaje
news:#wFeUJ$
Mostrar la cita
Ads by Google
Search Busqueda sugerida