Impostare trigger solo su un insert

venerdì 22 luglio 2011 - 10.55
Tag Elenco Tags  C#

netting Profilo | Junior Member

Voglio effettuare un trigger in seguito ad un insert della tabella login, ma ci sono due eventi insert riguardo la tabella login(e sono in due pagine separate), quindi come faccio ad effettuare il trigger solo su una insert e non su tutte e due?

Inoltre quando effettuo il trigger (ovvero effettuo la delete dopo l'insert) devo eliminare solo l'ultimo riga.

lbenaglia Profilo | Guru

>Voglio effettuare un trigger in seguito ad un insert della tabella
>login, ma ci sono due eventi insert riguardo la tabella login(e
>sono in due pagine separate), quindi come faccio ad effettuare
>il trigger solo su una insert e non su tutte e due?

Ciao,

Il DBMS non è a conoscenza di chi o che cosa esegue il comando di INSERT su una tabella, pertanto un eventuale trigger di INSERT verrà eseguito indistintamente per ogni chiamata. Un modo per discriminare consiste nel differenziare la valorizzazione di almeno una colonna da parte delle due pagine in modo da capire all'interno del trigger chi è l'autore del comando.

>Inoltre quando effettuo il trigger (ovvero effettuo la delete
>dopo l'insert) devo eliminare solo l'ultimo riga.
La delete dopo l'insert? Che significa?
Nel body del trigger devi eliminare una o più righe in altre tabelle correlate con la riga o le righe inserite?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

netting Profilo | Junior Member

significa che in pratica dopo che il trigger viene attivato in seguito all'istruzione di insert deve effettuare una delete di solo una riga ovvero quella inserita dopo dell'insert

Mi spiego in pratica:
Sto effettuando il controllo del login in quanto io con l'insert devo controllare se i dati (user e password) che l'utente ha inserito sono presenti nel db, ma in questo modo io reinserisco i dati e voglio cancellarli tramite il trigger (è più che altro un modo per poter imparare ad usare i trigger visto che sono alle prime armi e ho provato ad usarla in questo caso)

lbenaglia Profilo | Guru

>significa che in pratica dopo che il trigger viene attivato in
>seguito all'istruzione di insert deve effettuare una delete
Chi, il client?
In ogni caso per eliminare una riga specifica devi essere in grado di referenziarla in qualche modo tramite clausola WHERE.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

netting Profilo | Junior Member

il trigger deve effettuare la delete inseguito all'istruzione insert..la clausola WHERE l'ho stabilita ora devo differenziare le due insert che sono presenti in due pagine diverse ma che fanno riferimento alla stessa tabella
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5