Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

crear triggers SOBRE vistas SQL SERVER 2008

Estas en el tema de crear triggers SOBRE vistas SQL SERVER 2008 en el foro de SQL Server en Foros del Web. Como puedo crear un trigger sobre una vista Lo que quiero es que al eliminar un registro de la vista_productos también me lo elimine de ...
  #1 (permalink)  
Antiguo 24/11/2013, 22:46
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Exclamación crear triggers SOBRE vistas SQL SERVER 2008

Como puedo crear un trigger sobre una vista
Lo que quiero es que al eliminar un registro de la vista_productos también me lo elimine de la tabla productos eh intentado con el siguiente codig pero me marca error y dice que no se aceptan las vistas dentro de un trigger, me gustaria si alguien me puede decir si es imposible realizar esto o si si es posible
Mi codigo es el siguiente:

Código SQL:
Ver original
  1. CREATE TRIGGER [dbo].[delete_prod]
  2. ON [dbo].[vista_productos]
  3. AFTER DELETE
  4. AS
  5. BEGIN
  6. SET NOCOUNT ON;
  7. DELETE Products
  8.  
  9. --SET Customers.Address =Orders.ShipAddress
  10.  
  11. FROM [nwind].[dbo].[Products], vista_productos
  12. WHERE Products.ProductID =vista_productos.ProductID
  13. END

Última edición por gnzsoloyo; 25/11/2013 a las 05:37 Razón: Todo MAYUSCULAS es GRITAR
  #2 (permalink)  
Antiguo 25/11/2013, 01:47
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: crear triggers SOBRE vistas SQL SERVER 2008

En vistas se puede crear solamente Triggers "Instead Of", y el sistema no los ejecuta después la instrucción (Delete en este caso), sino en lugar de la instrucción.
Yo diría que son "Before Triggers" a contrario de los "After Triggers".
Código SQL:
Ver original
  1. CREATE TRIGGER [dbo].[delete_prod]
  2.  ON [dbo].[vista_productos]
  3.  Instead OF DELETE
  4.  AS
  5.  BEGIN
  6.  SET NOCOUNT ON;
  7.  ..
  8.  ..
Opino que menos cuando hay un razón - mejor que creas un Trigger en la tabla, y hagas la operación Delete en la tabla.
Generalmente utilizamos las vistas para ver los datos, y no para manipularlos.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: registro, server, sql, tabla, vistas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:41.