Trigger update

martedì 18 aprile 2006 - 12.00

scandian Profilo | Newbie

ciao ragazzi
com'è possibile creare un trigger di modifica di una vista???
se ho una vista con 10 colonne, 5 delle quali prese da una tabella e 5 da un'altra, come faccio a creare un tigger di update sulla vista???

lbenaglia Profilo | Guru

>com'è possibile creare un trigger di modifica di una vista???
>se ho una vista con 10 colonne, 5 delle quali prese da una tabella
>e 5 da un'altra, come faccio a creare un tigger di update sulla
>vista???

Ciao scandian,

semplice, non puoi :-)
Gli AFTER TRIGGERS possono essere definiti solo su tabelle base, pena il sollevamento dell'eccezione:

Msg 8197, Level 16, State 6, Procedure test, Line 1
Object '<schema>.<vista>' does not exist or is invalid for this operation.

SQL Server a partire dalla versione 2000 implementa gli INSTEAD OF triggers, ovvero dei trigger che scattano "al posto del" comando SQL DML eseguito su una tabella o vista.
Generalmente i triggers INSTEAD OF vengono utilizzati per modificare i dati tramite una vista nel caso in cui tale operazione non sia possibile per tutti i motivi elencati nei seguenti paragrafi dei Books Online:

"Modifying Data Through a View"
http://msdn2.microsoft.com/en-us/library/ms180800.aspx

"Designing INSTEAD OF Triggers"
http://msdn2.microsoft.com/en-us/library/ms175521.aspx

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5