Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

scope_identity vs. ident_current

In diesem Fall müssen Sie den Tabellennamen schreiben. Was passiert, wenn Sie sich entscheiden, den Tabellennamen zu ändern? Sie dürfen dann auch nicht vergessen, Ihren Code entsprechend zu aktualisieren. Ich verwende immer SCOPE_IDENTITY, es sei denn, ich benötige die ID aus der Einfügung, die in einem Trigger passiert, dann verwende ich @@IDENTITY

Der größere Unterschied besteht auch darin, dass IDENT_CURRENT Ihnen die Identität von einem anderen Prozess gibt, der die Einfügung vorgenommen hat (mit anderen Worten, der letzte generierte Identitätswert von einem beliebigen Benutzer). erhält den Identitätswert dieser anderen Person

Siehe auch 6 verschiedene Möglichkeiten zum Abrufen des aktuellen Identitätswerts, der einen Code enthält, der erklärt, was passiert, wenn Sie Trigger in die Tabelle einfügen