STORED PROCEDURE - Procedimentos Armazenados
Autor: Edson Gouveia  | Publicado: 2014-01-31T20:41:00-08:00






Ola, Pessoal




#EdsonGouveia


&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Boa noite, meu nome é Edson Gouveia, estou aqui para mais uma aula de Linguagem SQL, utilizando o SQL Server, hoje vou mostrar para vocês o uso das&nbsp;STORED&nbsp;PROCEDURE, ou seja,&nbsp;procedure vem da palavra procedimento, procedimento armazenado, elas são implementadas geralmente por DBA, Analistas de sistemas, programadores sobre um alto nível de aprendizado, acontece muito das pessoas se assustarem com esse tipo de recurso muito conhecido da linguagem T-SQL, pelo fato de serem estruturadas e algumas delas muito complexas, mas nessa aula você vera como é TÃO SIMPLES E FÁCIL ESSE TIPO DE ASSUNTO NO MUNDO DA PROGRAMAÇÃO T-SQL (: &nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Ela é realizada basicamente por uma sub-rotina ou função, procedimentos manuais idealizados e documentados.



&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Uma maneira bem mais simples de realizar consultas, inserts, updates, deletes e selects, entre outros de registros, é utilizando as Stored Procedures, elas armazenam essa rotina, ficam salvas no SGBD de uma forma pre compiladas, aguardando &nbsp;uma chamada delas caso seja necessário.









1° Primeiramente vamos criar nosso banco de dados:



CREATE DATABASE AulaProcedure;

use AulaProcedure;





2° Vamos criar nossa tabela de cliente:



CREATE TABLE CLIENTE(

ID INT PRIMARY KEY IDENTITY(1,1),

NOME VARCHAR(200),

CPF VARCHAR(20),

IDADE INT

);



3° Criando sua primeira procedure de Inserir: (INSERT)



CREATE PROCEDURE InserirCliente

@nome varchar(200),

@cpf VARCHAR(20),

@idade INT



AS



  INSERT INTO cliente (Nome,

        CPF,

        Idade)

       &nbsp;

  VALUES

       (@nome,

        @cpf,

        @idade);





4° Segunda procedure de Editar (UPDATE)



&nbsp;CREATE PROCEDURE EditarCliente

@id int,

@nome varchar(200),

@cpf VARCHAR(20),

@idade INT



AS





   UPDATE cliente SET Nome= @nome,&nbsp;

        &nbsp; CPF = @cpf,&nbsp;

        &nbsp; Idade = @idade&nbsp;

   WHERE   

        ID = @id





5° &nbsp;Quarta procedure de Select (SELECT)



CREATE PROCEDURE ListarCliente

@id int

AS





   SELECT &nbsp;NOME,&nbsp;

     CPF,&nbsp;

     IDADE&nbsp;

   &nbsp; &nbsp;

   &nbsp; &nbsp;FROM cliente&nbsp;

   &nbsp; &nbsp;

   &nbsp; &nbsp;WHERE ID = ISNULL(@id, id);



6° Terceira procedure de Deletar (DELETE)



CREATE PROCEDURE DetelarCliente

@id int





AS





   Delete from cliente where ID = @id&nbsp;





&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Para passar os valores para as procedures para serem executadas, só precisa dizer o nome dela e se necessário passar os parâmetros caso ela tiver.





7° Passando OS PARÂMETROS PARA A EXECUÇÃO DAS PROCEDURES.







Inserir Registro - (InserirCliente)



InserirCliente 'Edson Gouveia', '345.787.654-67', 21;



_________________________________________



Alterar Registro - (EditarCliente)



EditarCliente 1, 'Edson Brito', '000.787.654-67', 22;



Passando o primeiro parâmentro o ID para identificar quem sera o registro.

_____________________________



Listar Registro - (ListarCliente)



ListarCliente 1 &nbsp;--Opcional para consulta.

ListarCliente &nbsp; &nbsp;-- Listar todos, sem parâmetro.&nbsp;



No listar eu passei o recurso ISNULL, eu posso definir quem eu vou listar ou posso simplesmente listar todos os registros.



_________________________________________





Deletar Registro - (DeletarCliente)



DeletarCliente 1



E para deletar basta dizer quem sera o registro através do ID &nbsp;no parâmetro e executar.





&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Viram como é FÁCIL? Eu disse o que? Agora curta bastante ai, faça muitas stored procedures, faça combinações, você pode fazer N combinações, utilizando Inserts,Selects, updates, deletes, todo tipo de DDL e DML que vocês quiser, seguindo sua logica de programação para tal situação que necessite, poderá fazer também cálculos matemáticos utilizando as variáveis do parâmetro ou dos registros.&nbsp;



&nbsp; &nbsp;

HAAA SIMM GALERA, Já ia esquecendo para deletar uma procedure use o comando:



&nbsp;DROP PROCEDURE NomeDaProcedure;&nbsp;



Para edita-la, basta encontrá-la e clicar em modificar, elas ficam todas localizadas na pasta de Programação/Procedimentos Armazenados no seu banco.





Espero ter ajudado, DEUS abençoe todos vocês.

Sucesso com esse novo aprendizado (:&nbsp;

Abraços.