sql >> Databasteknik >  >> RDS >> Sqlserver

Returnera identiteten för den senast infogade raden från den lagrade proceduren

Jag skulle säga att du borde använda SCOPE_IDENTITY() som @@identity kommer att returnera identiteten för det senast infogade (vilket kanske inte är din lagrade procedur om flera frågor körs samtidigt).

Du måste också VÄLJA den, inte RETURNERA den.

ExecuteScalar returnerar det första kolumnvärdet från den första raden i en resultatuppsättning.

Så...

SELECT SCOPE_IDENTITY();

är förmodligen mer vad du vill.



  1. Behöver konvertera Oracle Merge till query till PostgreSQL

  2. Oracle-fel vid uppstart en annan start/avstängning av denna instans pågår

  3. PHP Lägg till-knapp för att se allt innehåll i hela posten MySQL

  4. SQL-injektion, citat och PHP