Oracle
 sql >> Database >  >> RDS >> Oracle

Come creare pacchetti PL/SQL nel database Oracle

Nel tutorial precedente abbiamo trattato tutte le teorie necessarie sui pacchetti PL/SQL in Oracle Database. Lì abbiamo imparato cosa sono i pacchetti, la loro architettura e la sintassi per crearli. Ora che abbiamo visto tutte le teorie necessarie per rispondere alle domande dell'esame di certificazione e del colloquio, è tempo di fare un passo avanti e fare un esempio che dimostri il processo di creazione di un pacchetto PL/SQL in Oracle Database. 

Come creare un pacchetto?

Per la dimostrazione creerò un pacchetto molto semplice che sarà composto da due elementi:una funzione e una procedura memorizzata. Ho cercato di mantenere questo esempio il più semplice possibile per rendere il concetto facile da capire.

Come abbiamo parlato mentre discutevamo dell'architettura del pacchetto nel tutorial precedente, il pacchetto è diviso in due parti, che sono

  • Intestazione del pacchetto e
  • Il corpo del pacchetto

Quindi inizieremo prima con la creazione dell'intestazione del pacchetto

Intestazione del pacchetto

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 un'occhiata al codice sopra, possiamo dire chiaramente che il pacchetto conterrà due elementi del pacchetto che sono:una funzione PL/SQL prnt_strng e una procedura memorizzata proc_superhero.

Corpo del pacchetto

--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;

Nel codice sopra per il corpo del pacchetto abbiamo implementato entrambi gli elementi del pacchetto che abbiamo definito nell'intestazione del pacchetto.

Byte di informazioni
Sia l'intestazione del pacchetto che il corpo sono oggetti di database individuali, quindi devi compilarli separatamente per far funzionare il tuo pacchetto.

Come si accede agli elementi del pacchetto?

Abbiamo creato e compilato correttamente l'intestazione e il corpo del pacchetto, cosa succede dopo? Come ogni altro oggetto di database, il pacchetto ha uno scopo unico. Utilizzando un pacchetto puoi raggruppare diversi oggetti di database sotto un unico nome e poiché i pacchetti PL/SQL sono denominati blocchi di database, quindi possono essere archiviati nel database e possono essere utilizzati in seguito quando necessario.

Quindi la domanda che sorge qui è come accedere agli elementi del pacchetto? Per accedere agli elementi definiti e implementati in un pacchetto utilizziamo la notazione punto (.). In base al quale per accedere all'elemento del pacchetto devi prima scrivere il nome del tuo pacchetto seguito dall'operatore punto (.) e poi il nome dell'elemento del pacchetto.

Esempio:

Ad esempio, supponiamo di voler chiamare la funzione PL/SQL prnt_strng del nostro pacchetto pkg_RebellionRider.

--Package Calling Function
BEGIN
  DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG);
END;

Nel codice sopra, usando il blocco anonimo, chiamiamo la funzione prnt_strng del pacchetto pkg_RebellionRider.

Potete guardare il video tutorial sullo stesso argomento per vedere come chiamare la procedura proc_superhero del nostro pacchetto. Inoltre, nello stesso video ho spiegato in dettaglio tutti i codici di cui sopra. Spero che ti piacerà guardare quel video. In tal caso, assicurati di condividere e mettere mi piace.

Puoi anche condividere questo blog con i tuoi amici o colleghi.

Grazie e buona giornata.