pl sql package oracle pl sql package tutorial with examples
Saiba mais sobre o Pacote PL SQL, suas vantagens, especificações e estrutura:
Neste artigo, continuaremos com PL / SQL series . No Registros PL SQL tutorial, aprendemos sobre registros e tipos de registros com exemplos de programação.
Aqui, exploraremos os pacotes em PL / SQL e alguns recursos importantes dos pacotes. Além disso, discutiremos algumas das operações básicas sobre eles.
Também discutiremos os pacotes dbms_ouput em PL / SQL e seus subprogramas.
Vamos começar com o aprendizado !!
O que você aprenderá:
Pacote PL SQL
Um pacote é um objeto na forma de um esquema que separa itens, tipos e subprogramas logicamente conectados em PL / SQL. Um pacote consiste em duas partes: Especificação do pacote e Corpo do pacote ou definição .
A especificação do pacote é como uma interface para o aplicativo e é usada para declarar variáveis, constantes, tipos, exceções, cursores e subprogramas. O corpo de um pacote implementa os subprogramas e cursores declarados na especificação do pacote.
Podemos atualizar, depurar ou alterar o corpo de um pacote sem tocar na especificação do pacote (também chamada de interface para o pacote).
Vantagens do pacote PL / SQL
As vantagens do pacote estão listadas abaixo:
- Ele dá modularidade ao nosso código.
- Isso ajuda a projetar o aplicativo facilmente.
- O pacote PLSQL ajuda a ocultar informações com a ajuda de itens públicos e privados, tipos de dados e subprogramas.
- O pacote permite manter informações sobre todas as transações sem a necessidade de armazená-las no banco de dados.
- Os pacotes ajudam a melhorar o desempenho de execução.
Especificação do Pacote
Uma especificação de pacote é como uma interface para o pacote. Ele cuida da declaração de variáveis, constantes, tipos, exceções, cursores e subprogramas. Assim, possui todos os detalhes sobre o conteúdo do pacote, mas não possui a implementação dos subprogramas.
Os objetos dentro de uma especificação de pacote são objetos públicos. Todos os subprogramas implementados em um corpo de pacote são objetos privados. Podemos declarar várias variáveis globais, funções ou procedimentos dentro da especificação do pacote.
Uma especificação de pacote é uma entidade independente e pode existir sem um corpo de pacote.
Implementação do código:
CREATE PACKAGE citi AS FUNCTION p_strng RETURN VARCHAR2; END citi; /
A saída do código acima:
Corpo da embalagem
O corpo do pacote contém a implementação dos cursores e subprogramas declarados na especificação do pacote. Deve-se lembrar que os subprogramas implementados no corpo do pacote podem ser acessados fora do pacote, desde que declarados na especificação do pacote.
O subprograma declarado na especificação e no corpo do pacote deve ser exato. Essa comparação é feita token por token de seus cabeçalhos. Caso não correspondam, o PL / SQL lança uma exceção.
melhor software de remoção de vírus para pc
O corpo do pacote pode conter outros subprogramas que não são declarados na especificação do pacote. Nesse caso, eles são privados apenas para esse corpo de embalagem. CRIAR CORPO DO PACOTE é a palavra-chave usada para criar um corpo de pacote.
Vamos dar um exemplo para criar o corpo do pacote para o os outros pacote.
Implementação de código com corpo de pacote.
CREATE OR REPLACE PACKAGE BODY citi AS --function implemented FUNCTION p_strng RETURN VARCHAR2 IS BEGIN RETURN 'Software Testing Help!'; END p_strng; END citi; /
A saída do código acima deve ser.
Consulte os elementos do pacote
Como concluímos a declaração dos elementos na especificação do pacote e a implementação deles no corpo do pacote, precisamos nos referir a esses elementos. Os elementos do pacote consistem em funções, procedimentos e variáveis.
Esses elementos públicos do pacote podem ser acessados pelo nome do pacote seguido pelo nome do elemento separado pela notação de ponto (.).
Sintaxe:
package_name.element_name;
Implementação de codificação para acessar elementos:
BEGIN DBMS_OUTPUT.PUT_LINE (citi.p_strng); END;
A saída do código acima:
Crie um pacote PL SQL
Se um pacote é chamado ou referido em uma sessão, uma nova instância desse pacote é criada no PL / SQL. Temos a opção de inicializar os elementos do pacote ou realizar qualquer outra ação durante a criação da instância com o bloco de código Package Initialization. Este é o bloco executável de código dentro do corpo do pacote após a inicialização dos elementos do pacote.
como abrir um arquivo apk no android
Sintaxe de criação de pacote:
CREATE [OR REPLACE] PACKAGE BODY IS BEGIN END
Aqui, o package_n é o nome do pacote.
Sobrecarregando um pacote
Pode haver vários subprogramas em um pacote com nomes semelhantes. Este recurso é útil se quisermos ter parâmetros homogêneos com tipos de dados heterogêneos. O conceito de sobrecarga dentro do pacote permite que os programadores mencionem claramente o tipo de ação que desejam executar.
Implementação de codificação com sobrecarga de procedimentos. (Pacote criado):
CREATE PACKAGE overloadingprocedure AS Procedure overl_method (p varchar2); Procedure overl_method (numbr number); END overloadingprocedure; /
A saída do código acima:
Implementação de codificação com sobrecarga de procedimentos. (Corpo do pacote criado)
CREATE OR REPLACE PACKAGE BODY overloadingprocedure AS --procedure implemented Procedure overl_method (p varchar2) AS BEGIN DBMS_OUTPUT.PUT_LINE ('First Procedure: ' || p); END; --procedure implemented Procedure overl_method (numbr number) AS BEGIN DBMS_OUTPUT.PUT_LINE ('Second Procedure: ' || numbr); END; END; /
A saída do código acima:
Implementação de codificação com sobrecarga de procedimentos. (Procedimento de embalagem referente)
BEGIN overloadingprocedure.overl_method ('Software Testing Help'); overloadingprocedure.overl_method (1); END;
A saída do código acima:
Dependência do pacote PLSQL
As dependências do pacote em PL / SQL estão listadas abaixo:
- Uma especificação de pacote é uma identidade independente.
- O corpo do pacote depende da especificação do pacote.
- Um corpo de pacote só pode ser compilado separadamente. No entanto, se a especificação de um pacote for compilada, o corpo precisará ser compilado novamente.
- A função ou um procedimento dentro de um corpo de pacote que depende dos elementos privados deve ser implementado após a declaração dos elementos privados.
Diretrizes para criar um pacote em PL SQL:
- Um pacote deve ser escrito em termos genéricos para que possam ser reutilizados no futuro.
- Evite características duplicadas em um pacote.
- A especificação do pacote contém a chave para um aplicativo projetado corretamente. Especificação completa do pacote antes de criar o corpo do pacote.
- Uma especificação de pacote deve conter apenas itens, subprogramas e tipos que devem ser acessíveis aos usuários do pacote. Não deve conter informações de implementação desnecessárias.
- A especificação do pacote deve conter um número limitado de itens. Isso deve economizar tempo para recompilar o código, pois uma modificação na especificação do pacote requer que o PL / SQL recompile todos os subprogramas que se referem ao pacote.
Informações do pacote em PL / SQL
Todos os detalhes relevantes, como a origem do pacote, subprogramas e itens sobrecarregados, são armazenados em tabelas de definição de dados depois que um pacote é criado.
A lista das tabelas de definição de dados é a seguinte:
- USER_PROCEDURES: Esta tabela contém informações de subprograma, como itens sobrecarregados, object_id e assim por diante, para o usuário atual.
- ALL_PROCEDURES: Esta tabela contém informações de subprograma, como itens sobrecarregados, object_id e assim por diante para todos os usuários.
- USER_SOURCE: Esta tabela contém as informações sobre a origem do objeto para o usuário atual.
- ALL_SOURCE: Esta tabela contém as informações sobre a origem do objeto para todos os usuários.
- ALL_OBJECT: Esta tabela contém as informações sobre o pacote, como creation_date, object_id e outros detalhes do objeto para todos os usuários.
Saída DBMS em PL / SQL
O pacote DBMS_OUTPUT permite a exibição da saída PL / SQL produzida a partir de subprogramas e blocos de código. Isso nos ajuda a depurar, testar nosso código e enviar mensagens.
O put_line procedimento produz os dados de saída para um buffer. As informações são exibidas com a ajuda do Obter linha procedimento ou configurando SERVEROUTPUT ON no SQL * Plus.
O pacote DBMS_OUTPUT contém os seguintes subprogramas:
Sim. Não. | Nome | Objetivos |
---|---|---|
1 | DBMS_OUTPUT.DISABLE | Limita a saída da mensagem. |
dois | DBMS_OUTPUT.ENABLE (buffer IN INTEGER DEFAULT 20000) | Permite a saída da mensagem. Se o buffer for definido como NULL, ele representa um tamanho ilimitado do buffer. |
3 | DBMS_OUTPUT.GET_LINE (linha OUT VARCHAR, status OUT NUMBER) | Busca uma informação em buffer dentro de uma única linha. |
4 | DBMS_OUTPUT.NEW_LINE | Termina um marcador de fim de linha. |
5 | DBMS_OUTPUT.PUT (item IN VARCHAR) | Coloca uma linha incompleta no buffer. |
6 | DBMS_OUTPUT.PUT_LINE (item IN VARCHAR) | Coloca uma linha completa no buffer. |
Implementação de código:
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE ('Software Testing Help!'); END;
A saída do código acima:
Perguntas e respostas mais frequentes
P # 1) O que é pacote no PL SQL?
Responda: Um pacote é um esquema de objeto que categoriza variáveis, constantes, cursores, subprogramas e tipos logicamente relacionados.
P # 2) Quais são os benefícios dos pacotes PL SQL?
Resposta: Os benefícios do pacote estão listados abaixo:
- Com os pacotes, é fácil projetar aplicativos.
- Com pacotes, podemos alcançar o encapsulamento.
- Os pacotes ajudam a obter um melhor desempenho em termos de velocidade de execução.
- O código se torna mais modular com pacotes.
P # 3) Podemos criar um corpo de pacote sem especificação?
Responda: Sim, podemos criar um corpo de pacote sem especificação de pacote.
P # 4) O que é Dbms_output Put_line em PL SQL?
Responda: O dbms_output put_line é um procedimento no Oracle que nos permite escrever informações em um arquivo simples ou na tela de saída do PL / SQL.
P # 5) O que é Dbms_output?
Responda: O dbms_output é um pacote padrão que nos permite exibir informações de depuração, saída e enviar mensagens de subprogramas, gatilhos, pacotes e bloco de código PL / SQL
como fazer um array de string
Conclusão
Neste tutorial, discutimos em detalhes alguns conceitos básicos sobre Pacotes PL SQL que são essenciais para usá-los em aplicativos reais.
Cobrimos os seguintes tópicos listados abaixo:
- Pacotes e sua estrutura.
- Diferentes características dos pacotes.
- Saída de DBMS.
- Subprogramas do pacote DBMS_OUTPUT.
<< PREV Tutorial | PRÓXIMO Tutorial >>
Leitura recomendada
- Tutorial PL SQL para iniciantes com exemplos | O que é PL / SQL
- Tutorial de registros PL SQL com exemplos
- PL SQL Cursor e Strings: Tutorial com exemplos de código
- Tutorial Python DateTime com exemplos
- Desenvolvimento de aplicativos de banco de dados Oracle: Oracle SQL e PL / SQL
- Principais perguntas da entrevista sobre Oracle: Oracle Basic, SQL, PL / SQL Questions
- Diferença entre SQL Vs MySQL Vs SQL Server (com exemplos)
- Principais perguntas da entrevista sobre Oracle Forms e Reports