Istruzione per restituire l'ultima tupla inserita

giovedì 22 gennaio 2009 - 16.40

patrizia84 Profilo | Junior Member

Ciao.
Con una funzioneho inserito una nuova tupla su una tabella su SQLSERVER.
La chiave primaria viene generata automaticamente.
Vorrei che la mia funzione mi restituisca questa chiave.
C'è un 'istruzione in SQL che mi permette di restituire l'ultima tupla inserita?
Grazie...

gigi90 Profilo | Senior Member

Si basta che che esegui subito dopo l'INSERT l'istruzione:
SELECT @@IDENTITY AS 'UltimoID'
che restituisce l'ultima chiave autoincrementante generata.

Se hai problemi contatta.

patrizia84 Profilo | Junior Member

Grazie...Ho risolto..
A presto.

lbenaglia Profilo | Guru

>Si basta che che esegui subito dopo l'INSERT l'istruzione:
>SELECT @@IDENTITY AS 'UltimoID'
>che restituisce l'ultima chiave autoincrementante generata.

Hai detto bene, l'ULTIMO valore autogenerato, con il rischio di ottenere quello generato AL DI FUORI della funzione (tipicamente in un trigger).
Per recuperare il valore generato all'interno della funzione, bisogna ricorrere alla funzione di sitema SCOPE_IDENTITY().
http://msdn.microsoft.com/en-us/library/ms190315.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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5