Alguém pode me dizer se há um equivalente de SCOPE_IDENTITY()
quando usar GUIDs como uma chave primária no SQL Server?
Não quero criar o GUID primeiro e salvar como uma variável, pois estamos usando GUIDs sequenciais como nossas chaves primárias.
Alguma ideia sobre qual a melhor maneira de recuperar a última chave primária GUID inserida?
OUTPUT
cláusula fornece um erro em qualquer tabela que tenha um gatilho de inserção anexado.Não há equivalente SCOPE_IDENTITY () ao usar GUIDs como chaves primárias, mas você pode usar a cláusula OUTPUT para obter um resultado semelhante. Você não precisa usar uma variável de tabela para a saída.
O exemplo acima é útil se você deseja ler o valor de um cliente .Net. Para ler o valor de .Net, você apenas usaria o método ExecuteScalar.
fonte
você deseja usar NEWID ()
mas o problema do índice agrupado está lá no GUID. leia este também NEWSEQUENTIALID () . Estas são minhas idéias, pense antes de usar o GUID como chave primária . :)
fonte
fonte
Usando este thread como um recurso, criei o seguinte para uso em um gatilho:
Pode ajudar outra pessoa a fazer a mesma coisa. Curioso se alguém tem algo ruim a dizer sobre desempenho, se isso não é uma boa ideia ou não.
fonte