Guida per Principianti sulle Variabili in PL/SQL
Ciao a tutti, futuri maghi di PL/SQL! Oggi ci imbarchiamo in un viaggio entusiasmante nel mondo delle variabili PL/SQL. Non preoccupatevi se siete nuovi al programming – sarò il vostro guida amichevole, e affronteremo tutto passo per passo. Alla fine di questo tutorial, sarai in grado di gestire le variabili come un professionista!
Cos'è una Variabile?
Prima di immergerci, capiremo cos'è una variabile. Pensate alle variabili come a piccoli contenitori nella memoria del vostro computer che conservano dati. Proprio come potreste usare scatole diverse per conservare oggetti diversi nella vostra stanza, usiamo variabili per conservare diversi tipi di dati nei nostri programmi.
Dichiarazione delle Variabili in PL/SQL
In PL/SQL, dichiarare una variabile è come presentarsi a qualcuno nuovo. Dite al programma: "Ciao, sono qui, ed ecco cosa posso contenere!"
Sintassi di Base
La sintassi di base per dichiarare una variabile in PL/SQL è:
nome_variabile tipo_dato;
Analizziamo questo:
-
nome_variabile
è il nome che choose per la vostra variabile -
tipo_dato
è il tipo di dati che la variabile può contenere
Esempi
DECLARE
mio_nome VARCHAR2(50);
mia_eta NUMBER;
sono_studente BOOLEAN;
BEGIN
-- Il vostro codice qui
END;
In questo esempio:
-
mio_nome
può contenere fino a 50 caratteri -
mia_eta
può contenere un numero -
sono_studente
può essere TRUE o FALSE
Ricordate, in PL/SQL, dichiariamo le variabili nella sezione DECLARE, prima della dichiarazione BEGIN.
Tipi di Dati Comuni
Ecco una tabella dei tipi di dati comuni che incontrerete:
Tipo di Dato | Descrizione | Esempio |
---|---|---|
VARCHAR2 | Stringa di caratteri di lunghezza variabile | 'Ciao, Mondo!' |
NUMBER | Valori numerici | 42, 3.14 |
DATE | Valori di data e ora | '01-GEN-2023' |
BOOLEAN | Valori logici (TRUE/FALSE) | TRUE |
Inizializzazione delle Variabili in PL/SQL
Ora che abbiamo dichiarato le nostre variabili, diamo loro dei valori! Questo processo si chiama inizializzazione.
Inizializzazione di Base
Potete inizializzare una variabile subito dopo la sua dichiarazione:
DECLARE
saluto VARCHAR2(20) := 'Ciao, PL/SQL!';
numero_fortunato NUMBER := 7;
BEGIN
DBMS_OUTPUT.PUT_LINE(saluto);
DBMS_OUTPUT.PUT_LINE('Il mio numero fortunato è: ' || numero_fortunato);
END;
In questo esempio, stiamo dicendo "Ciao" a PL/SQL e condividendo il nostro numero fortunato. :=
è l'operatore di assegnazione in PL/SQL.
Inizializzazione con NULL
A volte, potreste voler dichiarare una variabile ma non assegnarle un valore subito. In quel caso, potete usare NULL:
DECLARE
input_utente VARCHAR2(100) := NULL;
BEGIN
-- Otterremo l'input dell'utente più tardi
END;
Ambito delle Variabili in PL/SQL
L'ambito delle variabili è come il quartiere di una variabile – definisce dove la variabile può essere vista e utilizzata.
Variabili Locali
Le variabili dichiarate in un blocco sono locali a quel blocco. Non possono essere viste al di fuori del loro blocco.
DECLARE
variabile_esterna VARCHAR2(20) := 'Sono fuori!';
BEGIN
DBMS_OUTPUT.PUT_LINE(variabile_esterna);
DECLARE
variabile_interna VARCHAR2(20) := 'Sono dentro!';
BEGIN
DBMS_OUTPUT.PUT_LINE(variabile_esterna); -- Questo funziona
DBMS_OUTPUT.PUT_LINE(variabile_interna); -- Questo funziona anche
END;
DBMS_OUTPUT.PUT_LINE(variabile_esterna); -- Questo funziona
-- DBMS_OUTPUT.PUT_LINE(variabile_interna); -- Questo causerebbe un errore
END;
In questo esempio, variabile_interna
è come un amico timido che esce solo nel blocco interno. Il blocco esterno non può vederlo!
Variabili Globali
Se volete che una variabile sia visibile ovunque nel programma, dichiaratela nel blocco più esterno.
DECLARE
variabile_globale NUMBER := 100;
PROCEDURE stampa_globale IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Valore della variabile globale: ' || variabile_globale);
END;
BEGIN
stampa_globale;
variabile_globale := variabile_globale + 50;
stampa_globale;
END;
Qui, variabile_globale
è come un ragazzo popolare – tutti lo conoscono e possono interagire con lui!
Assegnazione dei Risultati di una Query SQL alle Variabili PL/SQL
Una delle cose più cool di PL/SQL è come si integra senza problemi con SQL. Potete usare query SQL per assegnare valori alle vostre variabili PL/SQL!
Query a Singola Riga
DECLARE
nome_dipendente VARCHAR2(100);
stipendio_dipendente NUMBER;
BEGIN
SELECT first_name || ' ' || last_name, salary
INTO nome_dipendente, stipendio_dipendente
FROM dipendenti
WHERE employee_id = 100;
DBMS_OUTPUT.PUT_LINE('Dipendente: ' || nome_dipendente);
DBMS_OUTPUT.PUT_LINE('Stipendio: $' || stipendio_dipendente);
END;
In questo esempio, stiamo recuperando il nome e lo stipendio di un dipendente dalla tabella dipendenti
e conservandoli nelle nostre variabili PL/SQL.
Query apiù Righe
Per più righe, dobbiamo usare un cursore o un bulk collect. Ecco un esempio con bulk collect:
DECLARE
TYPE tabella_nomi_type IS TABLE OF VARCHAR2(100);
nomi_dipendenti tabella_nomi_type;
BEGIN
SELECT first_name || ' ' || last_name
BULK COLLECT INTO nomi_dipendenti
FROM dipendenti
WHERE department_id = 60;
FOR i IN 1..nomi_dipendenti.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Dipendente ' || i || ': ' || nomi_dipendenti(i));
END LOOP;
END;
Questo script recupera tutti i nomi dei dipendenti del dipartimento 60 e li conserva in una tabella PL/SQL. Poi, cicla attraverso questa tabella per stampare ogni nome.
E voilà, gente! Abbiamo coperto le basi delle variabili PL/SQL, dalla dichiarazione all'inizializzazione, l'ambito e persino come riempirle con i risultati delle query SQL. Ricordate, la pratica rende perfetti, quindi non abbiate paura di sperimentare con questi concetti.
Prima di salutarvi, ecco una piccola battuta per voi: Perché il programmatore ha lasciato il suo lavoro? Perché non otteneva array (una promozione)! ?
Buon coding, e che le vostre variabili siano sempre ben educate!
Credits: Image by storyset