Você está na página 1de 15

Banco de Dados

II
Linguagens Procedurais

Csar Augusto Loureiro

Sub-rotinas

Uma subrotina um mdulo de


programa executado para uma
determinada finalidade e geralmente
possui um nome, pode receber
parmetros e, conforme o caso,
devolver valores. Todas as linguagens
de programao atuais (estruturadas ou
orientadas a objetos) suportam esse
conceito.

Sub-rotinas

Sub-rotinas

Existem 3 tipos bsicos de


subrotinas de banco de dados:
Os procedimentos
As funes
Os Gatilhos

Procedimentos
Tambm chamados de procedimentos armazenados
(stored procedures), representam pores de cdigo
SQL e no SQL que ficam armazenados de forma
compilada no catlogo do SGBD e so ativados
explicitamente por aplicaes, triggers ou outras
rotinas. Como nas linguagens tradicionais de
programao, um procedimento realiza um
processamento qualquer e no devolve valor algum
em seu final.

Procedimentos

Funes

As funes contm pores de cdigo SQL e


no SQL.
Ficam armazenadas de forma compilada no
catlogo do SGBD e so ativadas
explicitamente por aplicaes, triggers ou
outras rotinas. A diferena bsica entre o
procedimento e a funo que uma funo,
ao realizar um processamento, produz um
valor que devolvido (retornado) em seu
final.

Funes

Gatilhos ( Triggers)

Um gatilho (ou trigger) uma poro de


cdigo composto por instrues SQL e noSQL que ficam armazenados no catlogo do
SGBD e que so ativados automaticamente
pelo gerenciador de banco de dados quando
um determinado evento ocorre. Em princpio
um gatilho poderia ser entendido como uma
procedure ativada implicitamente pelo
SGBD.

Gatilhos ( Triggers)

Dicas SqlPlus*

Formatar a largura de uma linha:

Formatar a largura de uma coluna


chamada NOME em 20 caracteres:

SET LINESIZE 800

COLUMN nome FORMAT A20

Formatar a quantidade de linhas de


uma pagina:

SET PAGESIZE 50

Oracle e Subrotinas
Para consultar os nomes das subrotinas
j criadas no SGBD:
SELECT object_name FROM user_objects
WHERE object_type = 'PROCEDURE' ;
ou
object_type = 'FUNCTION' ;
ou
object_type = 'TRIGGER';

Oracle e Subrotinas

Para visualizar todos os objetos


criados no banco de dados:

SELECT object_type, object_name


FROM user_objects;

Oracle e Subrotinas

Para visualizar o cdigo fonte referente


a uma subrotina j criada no SGBD:

SELECT text FROM user_source


WHERE name = <nome_rotina> ;

Ex: SELECT text FROM user_source


WHERE name = 'CalcDobro' ;

PL/SQL
Como j sabemos, a SQL ( Structured
Query Language ), uma linguagem
interativa que tem por objetivo pesquisar,
recuperar e formatar dados de forma
simples, atravs de relatrios em tela ou
impressora, usando frases simples tiradas
do vocabulrio corrente.