none
Retornar ultimo uniqueidentifer inserido. RRS feed

  • 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. 
    sexta-feira, 30 de março de 2012 14:20

Todas as Respostas

  • Boa tarde Evertoum,

    O comando NEWID() não atende o que você precisa?

    Da uma olhada neste comando talvez ele te ajude.

    Tem também o NEWSEQUENTIALID() QUE pode ser usado como default para este tipo de colunas.

    Abçs,

    Adriano Nascimento

    sexta-feira, 30 de março de 2012 15:37
  • 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


    segunda-feira, 2 de abril de 2012 17:04
  • 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]

    terça-feira, 3 de abril de 2012 14:03