• Domingo 22 de Diciembre de 2024, 19:34

Autor Tema:  Triggers en SQL Server 2.005  (Leído 2303 veces)

Diabolo19

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Triggers en SQL Server 2.005
« en: Martes 8 de Julio de 2008, 12:35 »
0
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

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Triggers en SQL Server 2.005
« Respuesta #1 en: Lunes 14 de Julio de 2008, 23:06 »
0
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
  1. CREATE TRIGGER BORRARLEY
  2. ON Ley
  3. AFTER DELETE
  4. AS
  5.  
  6.  

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:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Diabolo19

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Triggers en SQL Server 2.005
« Respuesta #2 en: Martes 15 de Julio de 2008, 08:00 »
0
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Triggers en SQL Server 2.005
« Respuesta #3 en: Martes 15 de Julio de 2008, 15:31 »
0
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...

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
  1. CREATE TRIGGER nombreDelTrigger
  2.    ON  nombreDeTablaSobreLaQueSeDesencadena
  3.    ...
  4.    etc
  5.  
:P
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Diabolo19

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Triggers en SQL Server 2.005
« Respuesta #4 en: Martes 15 de Julio de 2008, 16:35 »
0
GRACIAS... Lo probaré... A ver qué pasa...