Pular para o conteúdo

Linguagem SQL (II) (Procedures e IF / ELSE)

Uma procedure é um bloco de comandos ou instruções SQL organizados para executar uma ou mais tarefas. Ela pode ser utilizada para ser acionada através de uma chamada simples que executa uma série de outros comandos.

CREATE PROCEDURE uspRetornaIdade
@CodigoCliente int
AS
SELECT Clientes.ClienteNome, YEAR(GETDATE())-YEAR(ClienteNascimento) AS IDADE
FROM Clientes
INNER JOIN Contas ON Clientes.ClienteCodigo=Contas.ClienteCodigo
WHERE Clientes.ClienteCodigo = @CodigoCliente;


Execução da procedure, opção 1

exec uspRetornaIdade 1;


Execução da procedure, opção 2

declare @parametro int
set @parametro = 1 --Código do Cliente desejado
exec uspRetornaIdade @parametro;

IF / ELSE

CREATE PROCEDURE uspRetornaSeTemCartao
@CodigoCliente int
AS
BEGIN

DECLARE @CodigoClienteCartao INT

SET @CodigoClienteCartao = (SELECT CartaoCredito.ClienteCodigo FROM Clientes LEFT JOIN CartaoCredito
ON CartaoCredito.ClienteCodigo = Clientes.ClienteCodigo WHERE CartaoCredito.ClienteCodigo = @CodigoCliente)

        IF @CodigoClienteCartao IS NULL
                BEGIN
                SELECT * FROM CartaoCredito WHERE ClienteCodigo = @CodigoCliente;
                END
        ELSE
                BEGIN
                SELECT 'LIGAR', * FROM Clientes WHERE ClienteCodigo = @CodigoCliente
                END

END;

EXEC uspRetornaSeTemCartao @CodigoCliente = 25; -- TEM CARTÃO

EXEC uspRetornaSeTemCartao @CodigoCliente = 1; --NÃO TEM CARTÃO

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *