sql >> Database >  >> RDS >> Sqlserver

scope_identity vs ident_current

In dat geval moet u de tabelnaam schrijven, wat gebeurt er als u besluit de tabelnaam te wijzigen? U moet dan ook niet vergeten uw code bij te werken om dat weer te geven. Ik gebruik altijd SCOPE_IDENTITY tenzij ik de ID nodig heb van de insert die in een trigger gebeurt, dan zal ik @@IDENTITY

gebruiken

Het grotere verschil is ook dat IDENT_CURRENT u de identiteit zal geven van een ander proces dat de invoeging heeft gedaan (met andere woorden de laatst gegenereerde identiteitswaarde van een gebruiker), dus als u een invoeging doet en dan iemand een invoeging doet voordat u een SELECT IDENT_CURRENT doet, krijgt de identiteitswaarde van die andere persoon

Zie ook 6 verschillende manieren om de huidige identiteitswaarde te krijgen, die een code bevat die uitlegt wat er gebeurt als je triggers op tafel legt



  1. Interne onderdelen van de zeven SQL Server-soorten - Deel 1

  2. Hoe te repareren "EXECUTE-instructie is mislukt omdat de WITH RESULT SETS-clausule 1 resultaatset (s) heeft gespecificeerd ..." in SQL Server

  3. Hoe tekenreeksarray in SQL-parameter door te geven aan IN-clausule in SQL

  4. java.lang.OutOfMemoryError:[geheugen uitgeput] tijdens het lezen van gegevens van Sqlite Android