pl sql package oracle pl sql package tutorial with examples
Informazioni sul pacchetto PL SQL, i suoi vantaggi, le specifiche e la struttura:
In questo articolo, continueremo con Serie PL / SQL . Nel Record PL SQL tutorial, abbiamo imparato a conoscere record e tipi di record con esempi di programmazione.
Qui esploreremo i pacchetti in PL / SQL e alcune importanti caratteristiche dei pacchetti. Inoltre, discuteremo alcune delle operazioni di base su di essi.
Discuteremo anche dei pacchetti dbms_ouput in PL / SQL e dei suoi sottoprogrammi.
Cominciamo con gli apprendimenti !!
Cosa imparerai:
Pacchetto PL SQL
Un pacchetto è un oggetto sotto forma di uno schema che separa elementi, tipi e sottoprogrammi connessi logicamente in PL / SQL. Un pacchetto è composto da due parti: Specifica del pacchetto e Corpo o definizione del pacchetto .
La specifica del pacchetto è come un'interfaccia per l'applicazione e viene utilizzata per dichiarare variabili, costanti, tipi, eccezioni, cursori e sottoprogrammi. Il corpo di un pacchetto implementa i sottoprogrammi e i cursori dichiarati nella specifica del pacchetto.
Possiamo aggiornare, eseguire il debug o modificare il corpo di un pacchetto senza toccare la specifica del pacchetto (chiamata anche interfaccia del pacchetto).
Vantaggi del pacchetto PL / SQL
I vantaggi del pacchetto sono elencati di seguito:
- Dà modularità al nostro codice.
- Aiuta a progettare facilmente l'applicazione.
- Il pacchetto PLSQL aiuta a nascondere le informazioni con l'aiuto di elementi pubblici e privati, tipi di dati e sottoprogrammi.
- pacchetto consente di mantenere le informazioni su tutte le transazioni senza richiedere di memorizzarle nel database.
- I pacchetti aiutano a migliorare le prestazioni di esecuzione.
Specifica del pacchetto
Una specifica del pacchetto è come un'interfaccia per il pacchetto. Si occupa della dichiarazione di variabili, costanti, tipi, eccezioni, cursori e sottoprogrammi. Quindi ha tutti i dettagli sul contenuto del pacchetto ma non ha l'implementazione dei sottoprogrammi.
Gli oggetti all'interno di una specifica del pacchetto sono oggetti pubblici. Tutti i sottoprogrammi implementati all'interno del corpo di un pacchetto sono oggetti privati. Possiamo dichiarare più variabili globali, funzioni o procedure all'interno della specifica del pacchetto.
Una specifica del pacchetto è un'entità indipendente e può esistere senza un corpo del pacchetto.
Implementazione del codice:
CREATE PACKAGE citi AS FUNCTION p_strng RETURN VARCHAR2; END citi; /
L'output del codice sopra:
Corpo del pacchetto
Il corpo del pacchetto contiene l'implementazione dei cursori e dei sottoprogrammi dichiarati nella specifica del pacchetto. Va ricordato che i sottoprogrammi implementati nel corpo del pacchetto sono accessibili al di fuori del pacchetto, a condizione che siano dichiarati nella specifica del pacchetto.
Il sottoprogramma dichiarato nella specifica e nel corpo del pacchetto deve essere esatto. Questo confronto viene eseguito token-by-token delle loro intestazioni. Nel caso in cui non corrispondano, PL / SQL genera un'eccezione.
spettacoli anime gratuiti da guardare online
Il corpo del pacchetto può contenere altri sottoprogrammi non dichiarati nella specifica del pacchetto. In tal caso, quelli sono privati solo per quel corpo del pacchetto. CREA IL CORPO DEL PACCHETTO è la parola chiave utilizzata per creare un corpo del pacchetto.
Facciamo un esempio per creare il corpo del pacchetto per gli altri pacchetto.
Implementazione del codice con il corpo del pacchetto.
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; /
L'output del codice precedente dovrebbe essere.
Fare riferimento agli elementi del pacchetto
Dato che abbiamo finito di dichiarare gli elementi nella specifica del pacchetto e di implementarli nel corpo del pacchetto, dobbiamo fare riferimento a questi elementi. Gli elementi del pacchetto sono costituiti da funzioni, procedure e variabili.
È possibile accedere a questi elementi pubblici del pacchetto tramite il nome del pacchetto seguito dal nome dell'elemento separato dalla notazione punto (.).
Sintassi:
package_name.element_name;
Implementazione della codifica per l'accesso agli elementi:
BEGIN DBMS_OUTPUT.PUT_LINE (citi.p_strng); END;
L'output del codice sopra:
Crea un pacchetto PL SQL
Se un pacchetto viene chiamato o indicato in una sessione, una nuova istanza di quel pacchetto viene creata in PL / SQL. Abbiamo la possibilità di inizializzare gli elementi del pacchetto o eseguire qualsiasi altra azione durante la creazione dell'istanza con il blocco di codice Inizializzazione pacchetto. Questo è il blocco di codice eseguibile all'interno del corpo del pacchetto dopo l'inizializzazione degli elementi del pacchetto.
Sintassi della creazione del pacchetto:
CREATE (OR REPLACE) PACKAGE BODY IS BEGIN END
Qui, package_n è il nome del pacchetto.
Sovraccarico di un pacchetto
Possono esserci più sottoprogrammi all'interno di un pacchetto con nomi simili. Questa caratteristica è utile se vogliamo avere parametri omogenei con tipi di dati eterogenei. Il concetto di sovraccarico all'interno del pacchetto consente ai programmatori di menzionare chiaramente il tipo di azione che vogliono eseguire.
Implementazione della codifica con sovraccarico delle procedure. (Pacchetto creato):
CREATE PACKAGE overloadingprocedure AS Procedure overl_method (p varchar2); Procedure overl_method (numbr number); END overloadingprocedure; /
L'output del codice sopra:
domande e risposte intervista test automazione pdf
Implementazione della codifica con sovraccarico delle procedure. (Corpo del pacchetto creato)
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; /
L'output del codice sopra:
Implementazione della codifica con sovraccarico delle procedure. (Riferimento procedura pacchetto)
BEGIN overloadingprocedure.overl_method ('Software Testing Help'); overloadingprocedure.overl_method (1); END;
L'output del codice sopra:
Dipendenza dal pacchetto PLSQL
Le dipendenze dei pacchetti in PL / SQL sono elencate di seguito:
- Una specifica del pacchetto è un'identità indipendente.
- Il corpo del pacchetto dipende dalle specifiche del pacchetto.
- Il corpo di un pacchetto può essere compilato solo separatamente. Tuttavia, se viene compilata una specifica del pacchetto, il corpo deve essere compilato di nuovo.
- Una funzione o una procedura all'interno del corpo di un pacchetto che dipende dagli elementi privati dovrebbe essere implementata dopo la dichiarazione degli elementi privati.
Linee guida per la creazione di un pacchetto in PL SQL:
- Un pacchetto dovrebbe essere scritto in termini generici in modo che possano essere riutilizzati in futuro.
- Evita le caratteristiche duplicate in un pacchetto.
- La specifica del pacchetto contiene la chiave per un'applicazione progettata correttamente. Completare la specifica del pacchetto prima di creare il corpo del pacchetto.
- Una specifica del pacchetto deve contenere solo elementi, sottoprogrammi e tipi che devono essere accessibili agli utenti del pacchetto. Non dovrebbe contenere informazioni di implementazione non necessarie.
- La specifica del pacchetto dovrebbe contenere un numero limitato di articoli. Risparmierà tempo per ricompilare il codice poiché una modifica alla specifica del pacchetto richiede che PL / SQL ricompili tutti i sottoprogrammi che fanno riferimento al pacchetto.
Informazioni sul pacchetto in PL / SQL
Tutti i dettagli rilevanti come l'origine del pacchetto, i sottoprogrammi e gli elementi sovraccaricati vengono memorizzati nelle tabelle di definizione dei dati dopo la creazione di un pacchetto.
L'elenco delle tabelle di definizione dei dati è il seguente:
- USER_PROCEDURES: Questa tabella contiene informazioni sul sottoprogramma come gli elementi sovraccaricati, object_id e così via per l'utente corrente.
- TUTTE LE PROCEDURE: Questa tabella contiene informazioni sul sottoprogramma come gli elementi sovraccaricati, object_id e così via per tutti gli utenti.
- USER_SOURCE: Questa tabella contiene le informazioni sull'origine dell'oggetto per l'utente corrente.
- ALL_SOURCE: Questa tabella contiene le informazioni sull'origine dell'oggetto per tutti gli utenti.
- ALL_OBJECT: Questa tabella contiene le informazioni sul pacchetto come la data di creazione, ID_oggetto e altri dettagli dell'oggetto per tutti gli utenti.
Uscita DBMS in PL / SQL
Il pacchetto DBMS_OUTPUT consente la visualizzazione dell'output PL / SQL prodotto da sottoprogrammi e blocchi di codice. Questo ci aiuta a eseguire il debug, testare il nostro codice e inviare messaggi.
Il put_line La procedura produce i dati di output in un buffer. Le informazioni vengono visualizzate con l'aiuto di get_line procedura o configurando SERVEROUTPUT ON in SQL * Plus.
Il pacchetto DBMS_OUTPUT contiene i seguenti sottoprogrammi:
Sl No. | Nome | Finalità |
---|---|---|
1 | DBMS_OUTPUT.DISABLE | Limita l'output del messaggio. |
Due | DBMS_OUTPUT.ENABLE (buffer IN INTEGER DEFAULT 20000) | Consente l'output del messaggio. Se il buffer è impostato su NULL, rappresenta una dimensione illimitata del buffer. |
3 | DBMS_OUTPUT.GET_LINE (riga OUT VARCHAR, stato OUT NUMBER) | Recupera informazioni memorizzate nel buffer all'interno di una singola riga. |
4 | DBMS_OUTPUT.NEW_LINE | Termina un marcatore di fine linea. |
5 | DBMS_OUTPUT.PUT (elemento IN VARCHAR) | Inserisce una riga incompleta nel buffer. |
6 | DBMS_OUTPUT.PUT_LINE (elemento IN VARCHAR) | Inserisce una riga completa nel buffer. |
Implementazione del codice:
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE ('Software Testing Help!'); END;
L'output del codice sopra:
Domande e risposte frequenti
D # 1) Cos'è il pacchetto in PL SQL?
Risposta: Un pacchetto è uno schema di oggetti che classifica variabili, costanti, cursori, sottoprogrammi e tipi correlati logicamente.
D # 2) Quali sono i vantaggi dei pacchetti PL SQL?
Risposta: I vantaggi del pacchetto sono elencati di seguito:
- Con i pacchetti diventa facile progettare applicazioni.
- Con i pacchetti possiamo ottenere l'incapsulamento.
- I pacchetti aiutano a ottenere migliori prestazioni in termini di velocità di esecuzione.
- Il codice diventa più modulare con i pacchetti.
D # 3) Possiamo creare un corpo del pacchetto senza specifica?
Risposta: Sì, possiamo creare un corpo del pacchetto senza la specifica del pacchetto.
Q # 4) Cos'è Dbms_output Put_line in PL SQL?
Risposta: Dbms_output put_line è una procedura in Oracle che ci consente di scrivere informazioni in un file flat o nella schermata di output PL / SQL.
Q # 5) Cos'è Dbms_output?
Risposta: Dbms_output è un pacchetto predefinito che ci consente di visualizzare informazioni di debug, output e inviare messaggi da sottoprogrammi, trigger, pacchetti e blocchi di codice PL / SQL
cast char in int c ++
Conclusione
In questo tutorial, abbiamo discusso in dettaglio alcuni concetti di base sui pacchetti PL SQL che sono essenziali per usarli in applicazioni reali.
Abbiamo trattato i seguenti argomenti elencati di seguito:
- Pacchetti e loro struttura.
- Diverse caratteristiche dei pacchetti.
- Uscita DBMS.
- Sottoprogrammi del pacchetto DBMS_OUTPUT.
<< PREV Tutorial | PROSSIMO Tutorial >>
Lettura consigliata
- Tutorial PL SQL per principianti con esempi | Cos'è PL / SQL
- Tutorial sui record PL SQL con esempi
- Cursore e stringhe PL SQL: tutorial con esempi di codice
- Tutorial Python DateTime con esempi
- Sviluppo di applicazioni per database Oracle: Oracle SQL e PL / SQL
- Domande principali per l'intervista su Oracle: Oracle Basic, SQL, PL / SQL Questions
- Differenza tra SQL Vs MySQL Vs SQL Server (con esempi)
- Principali domande di colloquio su Oracle Forms and Reports