Inquiridor
Retornar ultimo uniqueidentifer inserido.

Pergunta
-
Bom dia a todos, existe alguma função nativa similar ao SCOPE_IDENTITY(), que me retorne o ultimo uniqueidentifer inserido ? eu preciso dentro de uma transação realizar 3 inserts em cascata, e os identificadores dessas tabelas são todos uniqueidentifer. Aceito outras sugestões, obrigado.
Todas as Respostas
-
-
Boa Tarde,
Não existe nenhuma função no T-SQL que faça com o Unique Identifier o que o SCOPE_IDENTITY faz com colunas Identity. O máximo que você pode fazer é após efetuar o INSERT na tabela principal, mostrar a saída com a clásula OUTPUT. Isso teria um efeito similar ao SCOPE IDENTITY. Se a necessidade é mostrar o Unique Identifier da última tabela afetada (efeito do @@Identity), não há saída senão consultar novamente o registro.
Os comandos NEWID e NEWSEQUENTIALID não se aplicam a esse caso. Eles são capazes de gerar novos Unique Identifiers, mas não retornam o último Unique Identifier inserido em uma sessão.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível
- Editado Gustavo Maia Aguiar segunda-feira, 2 de abril de 2012 17:05
- Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 2 de abril de 2012 17:05
-
Evertoum,
Cara, sinceramente acho que a solução para sua dúvida esta de acordo com o que o Gustavo destacou, fazer um novo Select na tabela afetada ou então utilizar o @@Identity, eu particularmente vejo que @@Identity é bastante simples e de fácil utilização.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]