Como executar e debugar uma stored procedure usando Query analyzer.

Neste artigo vou explicar ações básicas para iniciantes, assim vou fazer tudo passo a passo para não ter erro e confusão. Pois estes conceitos devem estar raizados no seu DNA, são fundamentais para seu dia a dia.

Eu vou ensinar como criar uma tabela, como popular(insert), como criar uma procedure (select), como executar e debugar(print) a procedure criada.

1ª etapa: Criar Tabela

CREATE TABLE [dbo].[carro](
[id_carro] [int] NOT NULL,
[cor] [varchar](100) NOT NULL,
[placa] [varchar](100) NOT NULL)

Depois aperte ‘F5’, aparecerá uma mensagem “Command(s) completed successfully.”

2ª etapa: Popular tabela

INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (1,’verde’,’sum4567′);
INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (2,’amarelo’,’mat8754′);
INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (3,’preto’,’ata9865′);
INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (4,’vermelho’,’sel3265′);
INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (5,’branco’,’ins4152′);
INSERT INTO [dbo].[carro]([id_carro],[cor],[placa])VALUES (6,’rosa’,’web4163′);

Depois aperte ‘F5’, aparecerá 6 mensagens “(1 row(s) affected)”

3ª etapa: Criar stored procedure de select

CREATE PROCEDURE [dbo].[minhaSP]
@cor varchar(100),
@placa varchar(100)
AS
BEGIN
SELECT * FROM Carro WHERE cor=@cor and placa=@placa
END

Depois aperte ‘F5’, aparecerá uma mensagem “Command(s) completed successfully.”

Quer mais exemplos de como criar stored procedures? então visite este outro artigo que fiz: como criar stored procedure de select, insert, delete e update

4ª etapa: Executar stored procedure de select

Antes de usar sua procedure na aplicação é necessario testar para saber se ela esta fazendo o que realmente foi criada para fazer.
DECLARE @cor varchar(100)
DECLARE @placa varchar(100)

SET @cor = ‘verde’
SET @placa = ‘sum4567’

EXECUTE [dbo].[minhaSP]
@cor
,@placa

Depois aperte ‘F5’, aparecerá uma grid listando id_carro, cor e placa com uma única linha. Esta grid nada mais é do que o resultado do select que foi executado via procedure da 3ª etapa.

5ª etapa: Debugar stored procedure de select

Aqui vou mostrar de forma simples e clara, como faz para mostrar(print) os valores que foi passado via parametro para sua procedure.
Usando este simples comando “print” vc pode mapear os valores dos parametros além de mapear fluxos, se vc estiver usando “case” e “if” dentro da sua procedure. É a forma mais simples para descobrir se sua procedure esta trabalhando corretamente.
Primeiro vamos alterar a procedure e comentar ( – – ) o select que vc colocou la dentro. E antes vamos usar o comando “print” para “printar” os valores que foram passados.
ALTER PROCEDURE [dbo].[minhaSP]
@cor varchar(100),
@placa varchar(100)
AS
BEGIN
print ‘parametro cor:’ + @cor
print ‘parametro placa:’ + @placa
SELECT * FROM Carro WHERE cor=@cor and placa=@placa

END

Depois aperte ‘F5’.

Pronto sua procedure foi alterada! Agora execute a 3ª etapa novamente.

Em vez de aparecer a GRID de resultados irá aparecer na guia de “messages” os prints que vc colocou e os valores dos parametros.

Este slideshow necessita de JavaScript.

SIMPLES E PRATICO!!! Se tiver dúvidas comente abaixo!


Deixe uma resposta

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