Anda di halaman 1dari 13

Stored Procedures

Fernanda Hondo Tedesque


Visão Geral do Assunto

Mecanismos para otimizar a performance das


aplicações e sistemas que acessam bancos de dados.
Stored Procedures (Procedimentos armazenados)
Sub-rotina para aplicações que acessam bancos de dados relacionais

Programas armazenados no servidor (Banco de Dados)


• Escritos em SQL(Structured Query Language) e chamados pelas
aplicações
• Encapsulam tarefas repetitivas e que podem ter tamanhos variados
(por ex. uma consulta) dentro de um único comando
• Aceitam parâmetros de entrada e de saída
• Retornam status(sucesso ou falha na execução)
• Sempre que chamadas pelo comando, são executadas
Stored Procedures (Procedimentos armazenados)
Pra que servem
• Validação de dados
• Controle de acesso
• Execução de comandos SQL complexos
• Entre outros

Vantagens:
• Centraliza informações (diferentes aplicações podem acessar as aplicações)
• Padroniza operações (todas as aplicações utilizam da mesma forma)
• Otimiza o trabalho do desenvolvedor (reusabilidade e manutenção)
• Melhora a performance (tráfego e de execução)
• Cria mecanismos de segurança (encapsula informações)
PRATICANDO: Questão – VUNESP, 2013
Stored Procedures (Procedimentos armazenados)
Cada banco de dados possui sua própria linguagem para implementar
stored procedures, por exemplo:

• Oracle: PL/SQL (Procedural Language/Structured Query


Language)
• SQL Server: T-SQL (Transact- Structured Query
Language)
• Firebird: PSQL (Procedural Structured Query Language)
• Postgres : PL/pgSQL (Procedural Language/PostgreSQL)
Stored Procedures (Procedimentos armazenados)
Stored Procedure

procedure NomeDaSP (parâmetros, quando necessários) {


var {declaração de variáveis locais, quando necessárias}
inicio
{...bloco
de instruções...}
fim;
}
Tipos de Criação de Stored Procedures
PL/SQL (Oracle):
CREATE OR REPLACE procedure nomedaSP

T-SQL(SQL Server):
CREATE PROCEDURE nomedaSP

PL/pgSQL(Postgres):
CREATE OR REPLACE FUNCTION nomedaSP
Stored Procedures (Procedimentos armazenados)

Exemplo de procedure para verificar se a variável “a” é par


ou ímpar

procedure VerificaParImpar(a: integer);


begin if a mod 2 = 0
then ShowMessage(‘Este é um número par!’)
else ShowMessage(‘Este é um número Ímpar!’);
end;
Stored Procedures (Procedimentos armazenados)
As aplicações podem invocar as Stored Procedures através de seu
nome.

• CALL
• EXEC ou EXECUTE

CALL CalculaNotaFiscal() ou CalculaNotaFiscal(parâmetros)


EXEC CalculaNotaFiscal()
Stored Procedures (Procedimentos armazenados)

Alteração
• ALTER procedure nomedaSP

CREATE procedure buscaNome( NOME varchar(30)) ALTER procedure buscaNome( NOME varchar(30))
BEGIN BEGIN
SELECT * FROM Person where name = NOME SELECT * FROM Person where name = NOME + ‘%’
END END
Stored Procedures (Procedimentos armazenados)
Exclusão

• DROP procedure nomeDaSP;

DROP procedure calculaNotaFiscal;


Praticando – Questão FCC, 2017

Anda mungkin juga menyukai