Skip to content

Instruções INSERT, EXEC, SELECT em Procedure

13/10/2011

Procedimentos armazenados que retornam um conjunto de resultados, podemos efetuar instruções “SELECT”
O exemplo a seguir cria um variável Tabela com os mesmos campos de retorno da Procedure.

-- criando uma Procedure simples
CREATE PROCEDURE dbo.PD_SelectAllPessoa
AS 
  SELECT 
    IdPessoa,
    NomePessoa
  FROM Pessoa
GO  

-- declarando uma variável tabela que receberá os dados
DECLARE 
  @VarTable Table( IdPessoa int, 
                   NomePessoa varchar(80) )

INSERT @VarTable
EXEC dbo.PD_SelectAllPessoa

-- efetuando um SELECT 
SELECT * 
FROM @VarTable 
WHERE IdPessoa between 1 AND 10

Observações:
– Apesar da Microsoft dizer para “Evite processar ou retornar dados em excesso.”, é comum usar Procedures para retornar dados.
(http://msdn.microsoft.com/pt-br/library/ms187926.aspx)

– Procedimentos aninhados (quando um procedimento chama outro ou executa código gerenciado), pode ocorrer a seguinte mensagem de erro:
“An INSERT EXEC statement cannot be nested”

Anúncios

From → Transact-SQL

Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: