SQL Server - Valor de retorno após INSERT

I'estou a tentar recuperar o valor da chave após uma declaração INSERT-statement. Exemplo: I'tenho uma tabela com o nome dos atributos e id. id. é um valor gerado.

    INSERT INTO table (name) VALUES('bob');

Agora quero recuperar a identificação no mesmo passo. Como é que isto é feito?

We're usando o Microsoft SQL Server 2008.

Utilize SCOPE_IDENTITY() para obter o novo valor de ID

INSERT INTO table (name) VALUES('bob');

SELECT SCOPE_IDENTITY()

http://msdn.microsoft.com/en-us/library/ms190315.aspx

Comentários (4)

Você pode utilizar scope_identity() para selecionar o ID da linha que você acabou de inserir em uma variável e, em seguida, basta selecionar as colunas que quiser daquela tabela onde o id = a identidade que você obteve de scope_identity()

Veja aqui as informações sobre a MSDN http://msdn.microsoft.com/en-us/library/ms190315.aspx

Comentários (0)

Depois de fazer um insert em uma tabela com uma coluna de identidade, você pode consultar @@IDENTITY para obter o valor: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx

Comentários (2)