Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exporte o conjunto de resultados do procedimento armazenado para o Excel no SSMS


Eu sugiro que você divida seu procedimento armazenado em dois procedimentos que, cada um, respectivamente, retornam uma tabela separada e os chamam para planilhas diferentes.

Há várias maneiras de retornar dados ao Excel usando SQL

Aqui está um dos meus favoritos do código de Joshua (você não precisa usar os parâmetros):

  1. Selecione a guia Dados na Faixa de Opções do Excel e, no grupo Obter Dados Externos, escolha a lista suspensa "De outras fontes". Em seguida, escolha "Do Microsoft Query"

  2. Na caixa pop-up "Escolher fonte de dados", selecione seu SQL Server e clique em OK.

  3. Feche o pop-up "Adicionar tabelas", se necessário.

  4. Clique no botão "SQL" ou escolha Exibir> SQL para abrir o editor pop-up SQL.

  5. Insira a seguinte sintaxe:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}

    Por exemplo:{CALL northwind.dbo.spGetMaxCost (?, ?, ?)}

    Certifique-se de incluir as chaves rabiscadas ao redor da instrução de chamada. Cada ponto de interrogação (?) indica um parâmetro. Se o procedimento armazenado solicitar mais ou menos parâmetros, adicione ou subtraia pontos de interrogação conforme necessário.

  6. Aperte o botão OK. Uma caixa de pergunta deve aparecer dizendo "Consulta SQL não pode ser representada graficamente, continuar mesmo assim?", basta clicar no botão OK.

  7. Agora você será solicitado a fornecer parâmetros de amostra para cada ponto de interrogação incluído acima. Insira valores de parâmetro válidos para os dados que você está consultando.

  8. Depois de inserir o último parâmetro, você deve obter alguns resultados no Microsoft Query. Se eles parecerem bons, feche o Microsoft Query.

  9. Agora você deve estar olhando para um pop-up "Importar dados". Clique no botão Propriedades, que abrirá o pop-up "Propriedades da conexão".

  10. Selecione a guia Definição e, em seguida, selecione o botão Parâmetros. Agora você deve ver um pop-up "Parâmetros", onde você pode conectar o parâmetro a uma célula específica.

  11. Selecione Obter o valor da célula a seguir e conecte-se a uma célula apropriada no Excel que conterá seu parâmetro, clicando na pequena caixa com a seta.

  12. Se você quiser que os dados sejam atualizados toda vez que você alterar a célula que contém o parâmetro, marque a caixa "Atualizar automaticamente quando o valor da célula for alterado"

  13. Continue como acima para os outros parâmetros. Quando terminar, clique em OK para retornar ao pop-up Connection Properties. Clique em OK para retornar ao pop-up Importar dados e clique em OK novamente.

  14. Agora você deve ter alguns dados direto do seu procedimento armazenado.

Você terminará com informações de conexão semelhantes a:

Informações de conexão



E, se você usar parâmetros da planilha, no meu exemplo,