PL / SQL - Sintassi di base
In questo capitolo, discuteremo la sintassi di base di PL / SQL che è un file block-structuredlinguaggio; ciò significa che i programmi PL / SQL sono suddivisi e scritti in blocchi logici di codice. Ogni blocco è composto da tre sottoparti:
| S.No | Sezioni e descrizione |
|---|---|
| 1 | Declarations Questa sezione inizia con la parola chiave DECLARE. È una sezione opzionale e definisce tutte le variabili, i cursori, i sottoprogrammi e gli altri elementi da utilizzare nel programma. |
| 2 | Executable Commands Questa sezione è racchiusa tra le parole chiave BEGIN e ENDed è una sezione obbligatoria. Consiste nelle istruzioni PL / SQL eseguibili del programma. Dovrebbe avere almeno una riga di codice eseguibile, che potrebbe essere solo un fileNULL command per indicare che non deve essere eseguito nulla. |
| 3 | Exception Handling Questa sezione inizia con la parola chiave EXCEPTION. Questa sezione facoltativa contieneexception(s) che gestiscono gli errori nel programma. |
Ogni istruzione PL / SQL termina con un punto e virgola (;). I blocchi PL / SQL possono essere nidificati all'interno di altri blocchi PL / SQL utilizzandoBEGIN e END. Di seguito è riportata la struttura di base di un blocco PL / SQL:
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
L'esempio "Hello World"
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
Il end;linea segnala la fine del blocco PL / SQL. Per eseguire il codice dalla riga di comando SQL, potrebbe essere necessario digitare / all'inizio della prima riga vuota dopo l'ultima riga del codice. Quando il codice precedente viene eseguito al prompt SQL, produce il seguente risultato:
Hello World
PL/SQL procedure successfully completed.
Gli identificatori PL / SQL
Gli identificatori PL / SQL sono costanti, variabili, eccezioni, procedure, cursori e parole riservate. Gli identificatori sono costituiti da una lettera eventualmente seguita da più lettere, numeri, segni di dollaro, trattini bassi e segni di numeri e non devono superare i 30 caratteri.
Per impostazione predefinita, identifiers are not case-sensitive. Quindi puoi usareinteger o INTEGERper rappresentare un valore numerico. Non è possibile utilizzare una parola chiave riservata come identificatore.
I delimitatori PL / SQL
Un delimitatore è un simbolo con un significato speciale. Di seguito è riportato l'elenco dei delimitatori in PL / SQL:
| Delimitatore | Descrizione |
|---|---|
| +, -, *, / | Addizione, sottrazione / negazione, moltiplicazione, divisione |
| % | Indicatore di attributo |
| ' | Delimitatore di stringa di caratteri |
| . | Selettore dei componenti |
| (,) | Delimitatore di espressione o elenco |
| : | Indicatore della variabile host |
| , | Separatore articolo |
| " | Delimitatore identificatore citato |
| = | Operatore relazionale |
| @ | Indicatore di accesso remoto |
| ; | Terminatore di istruzioni |
| := | Operatore di assegnazione |
| => | Operatore di associazione |
| || | Operatore di concatenazione |
| ** | Operatore di esponenziazione |
| <<, >> | Delimitatore etichetta (inizio e fine) |
| /*, */ | Delimitatore di commenti su più righe (inizio e fine) |
| -- | Indicatore di commento a riga singola |
| .. | Operatore di intervallo |
| <, >, <=, >= | Operatori relazionali |
| <>, '=, ~=, ^= | Diverse versioni di NOT EQUAL |
I commenti PL / SQL
I commenti al programma sono dichiarazioni esplicative che possono essere incluse nel codice PL / SQL che scrivi e aiuta chiunque a leggerne il codice sorgente. Tutti i linguaggi di programmazione consentono una qualche forma di commenti.
PL / SQL supporta commenti su una riga e su più righe. Tutti i caratteri disponibili all'interno di qualsiasi commento vengono ignorati dal compilatore PL / SQL. I commenti PL / SQL su una riga iniziano con il delimitatore - (doppio trattino) ei commenti su più righe sono racchiusi da / * e * /.
DECLARE
-- variable declaration
message varchar2(20):= 'Hello, World!';
BEGIN
/*
* PL/SQL executable statement(s)
*/
dbms_output.put_line(message);
END;
/
Quando il codice precedente viene eseguito al prompt SQL, produce il seguente risultato:
Hello World
PL/SQL procedure successfully completed.
Unità di programma PL / SQL
Un'unità PL / SQL è una delle seguenti:
- Blocco PL / SQL
- Function
- Package
- Corpo del pacchetto
- Procedure
- Trigger
- Type
- Tipo corpo
Ciascuna di queste unità sarà discussa nei capitoli seguenti.