Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 6787|Resposta: 1

[Fonte] O SQL Server retorna a chave primária após a inserção

[Copiar link]
Publicado em 07/07/2020 11:55:16 | | | |
Requisitos: Um procedimento armazenado, precisamos inserir um dado nas tabelas A e B, onde a principal relação de chave estrangeira entre a tabela A e a tabela B, as colunas associadas à tabela B são as chaves primárias da tabela A, precisamos inserir o valor primário da chave da tabela A após a inserção concluída, precisamos obter o valor primário da chave da tabela A e então inserir os dados na tabela B.

Após inserir um registro, você deve obter imediatamente o valor de retorno da chave primária em seu datasheet. Essa chave primária é gerada automaticamente.

Primeiro, crie uma tabela temporária para testar, cujo código é o seguinte:


@@IDENTITY

Após a conclusão de uma instrução INSERT, SELECT IN ou copia em massa, a @@IDENTITY contém o último valor de identificação produzido por essa instrução. Se essa instrução não afetar nenhuma tabela com colunas identificadas, @@IDENTITY retorna NULL. Se múltiplas linhas forem inseridas, múltiplos valores de identificador são gerados, @@IDENTITY o último valor do identificador é retornado. Se essa instrução acionar um ou mais gatilhos que realizam uma operação de inserção que produz um valor identificado, chamar @@IDENTITY imediatamente após a execução da instrução retornará o último valor de identificação gerado pelo gatilho. Se a instrução INSERT ou SELECT INTO falhar ou a replicação em massa falhar, ou se a transação for revertida, o valor @@IDENTITY não é restaurado às suas configurações anteriores.

SAÍDA INSERIDA

Para INSERT, você pode consultar a tabela inserida para consultar as propriedades da nova linha

O código do teste é o seguinte:


O efeito é o seguinte:







Anterior:Consulta condicional MSSQL WHERE ignora a condição
Próximo:Agregação de pontos do mapa Baidu
 Senhorio| Publicado em 07/07/2020 13:22:22 |
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com