Na maior parte do nosso cotidiano de aplicação, precisamos obter as últimas informações de linha inseridas por meio da consulta SQL. E para isso, temos várias opções como:
- @@IDENTITY
- SCOPE_IDENTITY
- IDENT_CURRENT
Todas as três funções retornam valores de IDENTITY gerados pela última vez. No entanto, o escopo e a sessão em que o último é definido em cada uma dessas funções são diferentes.
@@IDENTITY
Ele retorna o último valor de identidade gerado para qualquer tabela na sessão atual, em todos os escopos. Deixe-me explicar ...  imaginamos que nós criamos um 
insert trigger na tabela que insere uma linha em outra tabela com gerar uma coluna de identidade e, em seguida, @@IDENTITY retorna esse registro de identidade que é criado por trigger.SCOPE_IDENTITY
Ele retorna o último valor de identidade gerado para qualquer tabela na sessão atual e no escopo atual.
Deixe-me explicar isso ... imaginamos que criamos um trigger de inserção na tabela que insere uma linha em outra tabela com gerar uma coluna de identidade, então o 
SCOPE_IDENTITY resultado não é afetado, mas se um trigger ou uma função definida pelo usuário for afetada na mesma tabela que produziu o valor retorna esse registro de identidade e, em seguida, SCOPE_IDENTITY retorna esse registro de identidade que é criado por acionador ou uma função definida pelo usuário.IDENT_CURRENT
Retorna o último valor de identidade gerado para uma tabela específica em qualquer sessão e qualquer escopo. Em outras palavras, podemos dizer que ele não é afetado pelo escopo e pela sessão, ele só depende de uma tabela específica e retorna esse valor de identidade relacionado à tabela que é gerado em qualquer sessão ou escopo.
Este artigo, juntamente com qualquer código-fonte e arquivos associados, está licenciado sob a Licença Aberta do Projeto de Código (CPOL).
 
 
Nenhum comentário:
Postar um comentário