Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Sql Server 2008 r2: trigger su evento insert/update: recuperare ID row...
venerdì 12 ottobre 2012 - 09.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
|
SQL Server 2008
the_driver
Profilo
| Senior Member
214
messaggi | Data Invio:
ven 12 ott 2012 - 09:17
Ciao a tutti,
volevo sapere se con i trigger riesco a recuperare l'id del record appena inserito/modificato in una tabella specifica
La procedura di insert / update viene richiamata da una app web.
Vi ringrazio
TOPOAMORE
Profilo
| Expert
695
messaggi | Data Invio:
ven 12 ott 2012 - 09:34
certo
nel trigger nell'intecettazione dopo insert effettu semplicemente una chimata alla tabella di sistema inserted recuperando l'id o il nome del campo da te interessato:
select id from inserted
ciaoooo
__.__.__.__.__.__
http://salvatorecervone.wordpress.com
ASP 2.0 - VB 2008
rigutini
Profilo
| Newbie
11
messaggi | Data Invio:
ven 12 ott 2012 - 09:52
hhhh
e se uso
SELECT * FROM tabella WHERE (chiave = @@IDENTITY)
??
Grazie
Chiara
TOPOAMORE
Profilo
| Expert
695
messaggi | Data Invio:
ven 12 ott 2012 - 10:00
in un trigger puoi recuperare i dati dalle tabelle inserted e deleted che contengono tutti i campi della tabella interessata dall'operazione.....
la tua query inoltre ha un errorino nel senso
>SELECT * FROM tabella WHERE (chiave = @@IDENTITY)
@@identity recupera l'ultimo id dell'intero sistema
dovresti usare scope_identity che recupera id della tua sessione non tenendo conto deglia altri inserimenti effettuatu da altri
Ciaooo
__.__.__.__.__.__
http://salvatorecervone.wordpress.com
ASP 2.0 - VB 2008
the_driver
Profilo
| Senior Member
214
messaggi | Data Invio:
ven 12 ott 2012 - 10:04
Per quanto riguarda l'evento update?
TOPOAMORE
Profilo
| Expert
695
messaggi | Data Invio:
ven 12 ott 2012 - 10:09
Un UPDATE non e altro che un DELETE e un INSERT quindi devi verificare se nelle due tabelle inserted e deleted esiste un id identico e verificare quale campo e varicato....
Se cerchi nel forum ci sono un po di post che ne parlano.....
__.__.__.__.__.__
http://salvatorecervone.wordpress.com
ASP 2.0 - VB 2008
rigutini
Profilo
| Newbie
11
messaggi | Data Invio:
ven 12 ott 2012 - 10:28
Grazie!! provo
Grazie
Chiara
Feroxis
Profilo
| Junior Member
80
messaggi | Data Invio:
gio 18 ott 2012 - 13:05
Io di solito richiamo l'utente con uno dei parametri che resta Unico nel database, se è un utente potrebbe essere il NickName o UserName, se ne esistono di uguali potrebbe essere la mail o il Codice Fiscale. Se li hai appena inseriti li hai ancora a disposizione nel "form".
SELECT * WHERE
se ti serve solo l'id
dim id as integer
cn.open
id = cm.executescalar (se l'id è al primo posto nelle colonne)
cn.close
cm.parameters.clear
Se è usato da piu persone contemporaneamente non è detto che sia l'ultimo record quello che tu hai inserito.
Torna su
Stanze Forum
Elenco Threads
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 !