Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como criar pacotes PL/SQL no banco de dados Oracle




No tutorial anterior abordamos todas as teorias necessárias sobre pacotes PL/SQL no Oracle Database. Lá aprendemos o que são pacotes, sua arquitetura e a sintaxe de criação dos mesmos. Agora que vimos todas as teorias necessárias para responder às perguntas do seu exame de certificação e entrevista, é hora de dar um passo à frente e fazer um exemplo demonstrando o processo de criação de um pacote PL/SQL no Oracle Database. 

Como criar um pacote?


Para a demonstração, vou criar um pacote muito simples que consistirá em dois elementos – uma função e um procedimento armazenado. Tentei manter este exemplo o mais simples possível para manter o conceito fácil de entender.

Como falamos ao discutir a arquitetura do pacote no tutorial anterior, o pacote é dividido em duas partes, que são
  • Cabeçalho do pacote e
  • O corpo do pacote

Então vamos começar criando o cabeçalho do pacote primeiro

Cabeçalho do pacote

CREATE OR REPLACE PACKAGE pkg_RebellionRider IS
  FUNCTION prnt_strng RETURN VARCHAR2;
  PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2);
END pkg_RebellionRider;

Dando uma olhada no código acima, podemos dizer claramente que o pacote conterá dois elementos de pacote que são – uma função PL/SQL prnt_strng e um procedimento armazenado proc_superhero.

Corpo do pacote

--Package Body
CREATE OR REPLACE PACKAGE BODY pkg_RebellionRider IS
  --Function Implimentation
  FUNCTION prnt_strng RETURN VARCHAR2 IS
    BEGIN
      RETURN 'RebellionRider.com';
    END prnt_strng;
  
  --Procedure Implimentation
   PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2) IS
     BEGIN
      INSERT INTO new_superheroes (f_name, l_name) VALUES(f_name, l_name);
     END;
  
END pkg_rrdr;

No código acima para o corpo do pacote, implementamos os dois elementos do pacote que definimos no cabeçalho do pacote.

Byte de informações
Tanto o cabeçalho quanto o corpo do pacote são objetos de banco de dados individuais, portanto, você precisa compilá-los separadamente para colocar seu pacote em funcionamento.

Como acessar os elementos do pacote?


Temos nosso cabeçalho e corpo do pacote criados e compilados com sucesso, o que vem a seguir? Como qualquer outro objeto de banco de dados, o pacote serve a um propósito único. Usando um pacote, você pode agrupar diferentes objetos de banco de dados sob um nome e, como os pacotes PL/SQL são chamados de blocos de banco de dados, eles podem ser armazenados no banco de dados e podem ser usados ​​posteriormente, quando necessário.

Então a questão que surge aqui é como acessar os elementos do pacote? Para acessar os elementos definidos e implementados em um pacote usamos a notação de ponto (.). De acordo com o qual para acessar o elemento pacote você deve primeiro escrever o nome do seu pacote seguido do operador ponto (.) e depois o nome do elemento pacote.

Exemplo:


Por exemplo, digamos que você queira chamar a função PL/SQL prnt_strng do nosso pacote pkg_RebellionRider.
--Package Calling Function
BEGIN
  DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG);
END;

No código acima usando o bloco anônimo chamamos a função prnt_strng do pacote pkg_RebellionRider.

Você pode assistir ao vídeo tutorial sobre o mesmo tópico para ver como chamar o procedimento proc_superhero do nosso pacote. Além disso, no mesmo vídeo, expliquei todos os códigos acima em detalhes. Espero que você goste de assistir esse vídeo. Se sim, certifique-se de compartilhar e curtir.

Você também pode compartilhar este blog com seus amigos ou colegas.

Obrigado e tenha um ótimo dia.