Fala galera, tudo bem com vocês ?
Nessa postagem vou mostrar para vocês como inserir o resultado de uma procedure em uma tabela temporária.
No exemplo eu vou usar uma procedure bem simples que retorna o Nome, Sobrenome e o Cargo utilizando o banco de dados AdventureWorks2014 como base.
Pra quem não sabe, o banco de dados de exemplo AdventureWorks em suas mais variadas versões é de uma empresa de bicicletas e de componentes para bicicletas.
CREATE PROC uspGetJobTitle AS BEGIN SET NOCOUNT ON SELECT P.FirstName ,P.LastName ,E.JobTitle FROM HumanResources.Employee E INNER JOIN Person.Person P ON P.BusinessEntityID = E.BusinessEntityID END
Bom agora que já temos a procedure, vamos criar um tabela temporária.
CREATE TABLE #uspGetJobTitle_Tabela ( Nome VARCHAR(30) ,Sobrenome VARCHAR(30) ,Cargo VARCHAR(50) )
Criada a tabela temporária, vamos inserir o resultado da procedure na tabela criada, usando o script abaixo, que na verdade é bem simples, como vocês podem notar.
INSERT INTO #uspGetJobTitle_Tabela EXEC uspGetJobTitle
Dessa forma Podemos utilizar o dados retornados na procedure para realizar Joins com outras tabelas.
Espero que tenha sido útil.
Até mais.