Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

scope_identity vs ident_current


Nesse caso, você precisa escrever o nome da tabela, o que acontece se você decidir alterar o nome da tabela? Você também não deve esquecer de atualizar seu código para refletir isso. Eu sempre uso SCOPE_IDENTITY, a menos que eu precise do ID da inserção que acontece em um gatilho, então usarei @@IDENTITY

Além disso, a maior diferença é que IDENT_CURRENT fornecerá a identidade de outro processo que fez a inserção (em outras palavras, o último valor de identidade gerado de qualquer usuário), portanto, se você fizer uma inserção e alguém fizer uma inserção antes de você fazer um SELECT IDENT_CURRENT, você obterá o valor de identidade dessa outra pessoa

Veja também 6 maneiras diferentes de obter o valor de identidade atual que tem algum código explicando o que acontece quando você coloca gatilhos na tabela