» Início » Desenvolvimento » Banco de dados e SQL » SQL Server: Geração de seqüenciais de forma automática
 
Avaliação: | Publicado em: 20/09/2007
SQL Server: Geração de seqüenciais de forma automática


Funções

A utilização de colunas Identity permite que sejam utilizadas algumas funções para recuperação de valores relacionados a essa propriedade. Algumas funções podem retornar valores idênticos, mas em algumas situações ele podem divergir. Essas divergências serão demonstradas posteriormente.

IDENT_SEED

Essa função retorna o valor inicial da coluna Identity. Se aplicada ao primeiro exemplo, o retorno será 1. Se aplicada ao segundo exemplo, o retorno será 0.

IDENT_INCR

Essa função retorna o valor da coluna Identity a ser incrementado a cada registro. Se aplicada ao primeiro exemplo, o retorno será 1. Se aplicada ao segundo exemplo, o retorno será 10.

IDENT_CURRENT

Essa função retorna o valor atual da coluna Identity. Se aplicada ao primeiro exemplo, o retorno será 4. Se aplicada ao segundo exemplo, o retorno será 20.

@@identity

Retorna o último Identity gerado para a conexão que efetuou uma operação em uma tabela com a coluna Identity. Quando são realizadas inserções de registros em uma tabela com coluna Identity, pode ser desejado capturar o valor gerado para essa coluna (possivelmente para retorná-lo para a aplicação). O @@identity retorna esse valor. No entanto, se múltiplos INSERTs forem disparados em uma ou mais tabelas com Identity, o @@identity irá retornar o último Identity gerado para a tabela presente no último INSERT.

SCOPE_IDENTITY()

Possui um efeito semelhante ao @@identity, mas ao contrário do @@identity, considera o escopo em que foi gerado. Será demonstrado um exemplo prático de sua utilização mais posteriormente.

IDENTITYCOL

Essa função permite que seja realizado um SELECT em uma tabela sem especificar o nome da coluna Identity

$Identity

Essa função é semelhante a função IDENTITYCOL.