Seja, Bem-Vindo

Seja, Bem Vindo

sexta-feira, 31 de janeiro de 2014

STORED PROCEDURE - Procedimentos Armazenados



Ola, Pessoal

#EdsonGouveia
                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 STORED PROCEDURE, ou seja, 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 (:  
              
              Ela é realizada basicamente por uma sub-rotina ou função, procedimentos manuais idealizados e documentados.

             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  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)
 
VALUES
(@nome,
@cpf,
@idade);


4° Segunda procedure de Editar (UPDATE)

 CREATE PROCEDURE EditarCliente
@id int,
@nome varchar(200),
@cpf VARCHAR(20),
@idade INT

AS


UPDATE cliente SET Nome= @nome, 
  CPF = @cpf, 
  Idade = @idade 
WHERE
ID = @id


5°  Quarta procedure de Select (SELECT)

CREATE PROCEDURE ListarCliente
@id int
AS


SELECT  NOME, 
CPF, 
IDADE 
   
   FROM cliente 
   
   WHERE ID = ISNULL(@id, id);

6° Terceira procedure de Deletar (DELETE)

CREATE PROCEDURE DetelarCliente
@id int


AS


Delete from cliente where ID = @id 


              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  --Opcional para consulta.
ListarCliente    -- Listar todos, sem parâmetro. 

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  no parâmetro e executar.


          
          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. 

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

 DROP PROCEDURE NomeDaProcedure; 

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 (: 
Abraços.




2 comentários:

  1. Muito boa a aula cara, eu fiz no SQL Server 2008, em outros bancos seria o mesmo procedimento?

    ResponderExcluir
  2. Ola anonimo, é sim, serve em qualquer banco o que pode mudar é a sintaxe, o entendimento é o mesmo :D

    ResponderExcluir

Obrigado pela Visita !