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

Usando OUTPUT após INSERT para obter o valor da coluna de identidade em uma variável (valor não-tabela)


Lembre-se que o valor da cláusula de saída é que ela pode retornar mais de um registro e mais de um campo. Assim, você pode gerar a chave natural e a identidade de um conjunto de dados para que também possa usar a teoria dos conjuntos para inserir vários registros em tabelas filhas. A saída é muito poderosa e valerá a pena se acostumar a usá-la.

Atualmente, há um bug no scope_identity() (consulte o link:http://connect.microsoft.com/SQLServer/feedback/details/328811/scope-identity-sometimes-returns-incorrect-value ) que a Microsoft não pretende corrigir. Isso deve lhe dar uma pista sobre se você deve usar a saída para novos desenvolvimentos, mesmo que seja um pouco mais complicado para registros únicos.