Você está na página 1de 2

Package - Parte 1

Olá!

Hoje vamos começar a trabalhar com PACKAGE, e para darmos inicio, eu dividi o
assunto em 2 colunas, hoje para uma explicação geral e a próxima uma abordagem
prático. Iniciando o assunto vamos perguntar, O que é uma PACKAGE? Resposta, são
áreas de armazenamentos de sub-programas, constantes, váriaveis e cursores em
PL/SQL que dependendo do modo que você construir, você poderá compartilhar as
informações desta PACKAGE com outros aplicativos.

Uma PACKAGE é constituida de duas partes. A primeira é a PACKAGE


SPECIFICATION e a seguda é a PACKAGE BODY, onde atráves delas podemos
definir a função do nosso "pacote" dentro do banco de dados. A seguir irei comentar um
pouco sobre cada parte.

PACKAGE SPECIFICATION

Tem como função de criar a interface de suas aplicações e definir os tipos de váriaveis,
cursores, exceções, nomear rotinas, e funções, tudo que se define na parte de
SPECIFICATION do seu PACKAGE poderá ser compartilhado com outros scripts ou
programas em SQL e PL/SQL.

PACKAGE BODY

Está parte da sua PACKGE tem como função executar por completo todas as suas
rotinas, cursores e etc, que você definiu na SPECIFICATION, deste modo, todas as
funções executadas dentro do BODY não poderão ser compartihadas com outras
aplicações, além disso no BODY você poderá criar detalhes e declarações que ficarão
invisíveis para outras aplicações.

Abaixo está um exemplo em SQL de PACKAGE SPECIFICATION e BODY.

  Legenda dos códigos.

  PACKAGE SPECIFICATION

  PACKAGE BODY

SQL
CREATE OR REPLACE PACKAGE nome_package IS
>
2 TYPE REGTESTE IS RECORD (NOME VARCHAR2(50), SEXO CHAR(1));
3 CURSOR CTESTE (MATRICULA IN NUMBER) RETURN REGTESTE
4 FUNCTION EXCLUIR (MATRICULA IN NUMBER) RETURN BOOLEAN;
5 END nome_package;
6 /
SQL
CREATE OR REPLACE PACKAGE BODY nome_package IS
>
2 CURSOR CTESTE (MATRICULA IN NUMBER) RETURN REGTESTE IN
3 SELECT NOME, SEXO FROM Tabela WHERE SEXO=M;
4 BEGIN
5 DELETE FROM Tabela WHERE SEXO=M;
6 END;
7 END nome_package;
8 /

Como dito, percebemos que a PACKAGE SPECIFICATION foi compartilhada com a


PACKAGE BODY e a própria BODY não poderá ser compartilhada com outras
aplicação. Assim permitimos que alguma mudança na programação em
SPEFIFICATION poderá afetar outras aplicações que estão utilizando o PACKAGE.

Você também pode gostar