Bases de Datos > SQL Server
Triggers en SQL Server 2.005
(1/1)
Diabolo19:
Lo pongo a parte, que creo que merece MENCIÓN y GRACIAS de nuevo.
Tenía tres tablas...
Ley (IDNum)
Tener (IDNum, NLinea)
pruebaxml (NLinea)
Bien, cuando borraba una Ley, sólo me borraba a través de DELETE CASCADE las tuplas que tenían que ver en la tabla "Tener" pero NO las de la tabla "pruebaxml".
Bien, creé un Trigger tal que así:
CREATE TRIGGER BORRARLEY
ON Ley
AFTER DELETE
AS
BEGIN
DELETE FROM pruebaxml
WHERE NLinea not in
(SELECT NLinea
FROM Tener)
END
Creo un trigger y entonces, DESPUÉS DE BORRAR en la tabla Ley, que borre de la tabla pruebaxml las que estén en esa tabla y NO EN LA TABLA TENER (CREO QUE EL TRIGGER SERÍA ASÍ... PERO RECTIFICARME si no está bien...)
¿En dónde creo el trigger?
Es decir, en SQL Server 2.005, ¿en dónde tengo que ir para crear el trigger o qué instrucciones me hacen falta para ejecutar bien el trigger?
Por cierto, si pongo CREATE OR REPLACE TRIGGER BORRARLEY me da ERROR en el operador lógico OR...
A ver si alguien puede ayudarme...
GRACIAS.
ElNapster:
Bueno el create or replace es en Oracle aca no hay eso :no:
Aca se usan las tablas Deleted e inserted aca estan tus valores anteriores y tus nuevos valores, tienes que jugar con esas tablas para poder borrar bien tus datos.
Ahora bien donde creas tu Trigger es en donde le pones
--- Código: Text ---CREATE TRIGGER BORRARLEYON LeyAFTER DELETEAS
Le estas diciendo en tabla Ley cuando sea borrado... el script que ejecutes tiene que estar en la BD donde este esa tabla obviamente.
Suerte ... ! :good:
Diabolo19:
MUCHAS GRACIAS, pero sigo sin saber en donde TENGO que crear el trigger en el SQL Server 2.005¡¡¡ Es decir, yo veo mis tablas, pero NO veo ningún tipo de código para escribir el trigger...
¿Cómo lo añado o cómo lo introducto, lo escribo?
GRACIAS de todas formas...
Mollense:
--- Cita de: "Diabolo19" ---MUCHAS GRACIAS, pero sigo sin saber en donde TENGO que crear el trigger en el SQL Server 2.005¡¡¡ Es decir, yo veo mis tablas, pero NO veo ningún tipo de código para escribir el trigger...
¿Cómo lo añado o cómo lo introducto, lo escribo?
GRACIAS de todas formas...
--- Fin de la cita ---
Una forma:
En el arbol, expandí la tabla en cuestión, vas a ver una carpeta "Desencadenadores", le das click con el botón derecho y "Nuevo desencadenador".
Otra forma:
Simplemente ejecutás el script sql en una ventana de consulta:
--- Código: Text ---CREATE TRIGGER nombreDelTrigger ON nombreDeTablaSobreLaQueSeDesencadena ... etc :P
Diabolo19:
GRACIAS... Lo probaré... A ver qué pasa...
Navegación
Ir a la versión completa