sql >> Database teknologi >  >> RDS >> Sqlserver

Returner identiteten for den sidst indsatte række fra den lagrede procedure

Jeg vil sige, at du skal bruge SCOPE_IDENTITY() som @@identity vil returnere identiteten af ​​den sidst indsatte ting (som muligvis ikke er din lagrede procedure, hvis flere forespørgsler kører samtidigt).

Du skal også VÆLGE det, ikke RETURNERE det.

ExecuteScalar returnerer den første kolonneværdi fra den første række i et resultatsæt.

Så...

SELECT SCOPE_IDENTITY();

er nok mere, hvad du ønsker.



  1. indtastning af tabelnavn som plsql-parameter

  2. Betinget indsættelse baseret på LAST_INSERT_ID

  3. Hvordan læser man xml i t-sql?

  4. Hvordan importerer jeg denne datafil til en Mysql-tabel