>Eseguendo una insert into vorrei memorizzare in una variabile
>il valore che ritorna da @@IDENTITY.
Osserva il seguente esempio:
USE tempdb;
CREATE TABLE dbo.foo(
fooID int NOT NULL IDENTITY(10,1),
col int NOT NULL
);
INSERT dbo.foo VALUES(1);
DECLARE @NewID int = SCOPE_IDENTITY()
SELECT @NewID AS Valore;
/* Output:
Valore
-----------
10
(1 row(s) affected)
*/
DROP TABLE dbo.foo;
Ti suggerisco SCOPE_IDENTITY() piuttosto che @@IDENTITY, dato che lo scope è locale e non a livello di sessione, avendo la certezza di recuperare il valore generato dal comando di INSERT della sessione corrente (e non quello generato ad esempio da un trigger di insert scatenato dal comando).
>Grazie.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/