Guida per Principianti su Costanti e Literali in PL/SQL

Ciao there, aspiranti programmatori! Oggi ci imbarcheremo in un viaggio emozionante nel mondo del PL/SQL, concentrando la nostra attenzione su Costanti e Literali. Non preoccupatevi se questi termini vi sembrano un linguaggio alieno ora - alla fine di questo tutorial, li userete come un professionista esperto!

PL/SQL - Constants and Literals

Cos'è una Costante e un Literale?

Prima di immergerci, esploriamo questi termini:

  • Una Costante è un valore che non cambia durante l'esecuzione di un programma.
  • Un Literale è un valore che appare direttamente in un programma.

Pensate alle costanti come al vostro numero preferito che usate sempre, e ai literali come i numeri che scrivete su un pezzo di carta. Esploriamo questi concetti in dettaglio!

Dichiarare una Costante

In PL/SQL, dichiarare una costante è come dire al vostro programma, "Ehi, ricorda questo valore, è importante e non cambia!"

Ecco la sintassi di base:

nome_costante CONSTANT datatype := valore;

Analizziamo questa sintassi:

  • nome_costante: Questo è il nome che date alla vostra costante.
  • CONSTANT: Questa parola chiave dice a PL/SQL che stiamo dichiarando una costante.
  • datatype: Questo specifica il tipo di dati che la costante manterrà (come NUMBER, VARCHAR2, ecc.).
  • :=: Questo è l'operatore di assegnazione in PL/SQL.
  • valore: Questo è il valore effettivo che stiamo assegnando alla costante.

Esempio 1: Dichiarare una Costante Numerica

DECLARE
pi CONSTANT NUMBER(7,6) := 3.141592;
BEGIN
DBMS_OUTPUT.PUT_LINE('Il valore di pi è: ' || pi);
END;

In questo esempio, stiamo dichiarando una costante chiamata pi con un valore di 3.141592. NUMBER(7,6) significa che è un numero con 7 cifre totali, 6 delle quali dopo la virgola decimale.

Quando eseguite questo codice, θα output:

Il valore di pi è: 3.141592

Esempio 2: Dichiarare una Costante Stringa

DECLARE
saluto CONSTANT VARCHAR2(20) := 'Ciao, PL/SQL Mondo!';
BEGIN
DBMS_OUTPUT.PUT_LINE(saluto);
END;

Qui, stiamo dichiarando una costante chiamata saluto che contiene un valore stringa. VARCHAR2(20) significa che è una stringa di lunghezza variabile che può contenere fino a 20 caratteri.

Output:

Ciao, PL/SQL Mondo!

I Literali in PL/SQL

Ora parliamo dei literali. Questi sono i valori grezzi che utilizzate nel vostro codice. PL/SQL supporta diversi tipi di literali:

1. Literali Numerici

Questi sono numeri. Semplice, vero? Possono essere interi o numeri a virgola mobile.

DECLARE
eta NUMBER := 25;  -- Literale intero
altezza NUMBER := 5.9;  -- Literale a virgola mobile
BEGIN
DBMS_OUTPUT.PUT_LINE('Età: ' || eta);
DBMS_OUTPUT.PUT_LINE('Altezza: ' || altezza || ' piedi');
END;

Output:

Età: 25
Altezza: 5.9 piedi

2. Literali Caratteri

Questi sono singoli caratteri racchiusi in singoli apici.

DECLARE
voto CHAR := 'A';
BEGIN
DBMS_OUTPUT.PUT_LINE('Il tuo voto è: ' || voto);
END;

Output:

Il tuo voto è: A

3. Literali Stringa

Questi sono sequenze di caratteri racchiuse in singoli apici.

DECLARE
nome VARCHAR2(20) := 'John Doe';
BEGIN
DBMS_OUTPUT.PUT_LINE('Benvenuto, ' || nome || '!');
END;

Output:

Benvenuto, John Doe!

4. Literali Booleani

PL/SQL ha tre literali booleani: TRUE, FALSE e NULL.

DECLARE
e_studente BOOLEAN := TRUE;
BEGIN
IF e_studente THEN
DBMS_OUTPUT.PUT_LINE('Questa persona è uno studente.');
ELSE
DBMS_OUTPUT.PUT_LINE('Questa persona non è uno studente.');
END IF;
END;

Output:

Questa persona è uno studente.

5. Literali Data

I literali data sono racchiusi in singoli apici e devono essere nel formato specificato dal vostro parametro NLS_DATE_FORMAT.

DECLARE
data_assunzione DATE := '01-Gennaio-2023';
BEGIN
DBMS_OUTPUT.PUT_LINE('Data di assunzione: ' || data_assunzione);
END;

Output:

Data di assunzione: 01-Gennaio-23

Mettere Tutto Insieme

Ora che abbiamo coperto costanti e literali, vediamo come possiamo usarli insieme in un esempio più complesso:

DECLARE
-- Costanti
pi CONSTANT NUMBER(7,6) := 3.141592;
saluto CONSTANT VARCHAR2(20) := 'Ciao, ';

-- Variabili usando literali
raggio NUMBER := 5;
nome VARCHAR2(20) := 'Alice';
e_cerchio BOOLEAN := TRUE;

-- Valore calcolato
area NUMBER;
BEGIN
IF e_cerchio THEN
area := pi * raggio * raggio;
DBMS_OUTPUT.PUT_LINE(saluto || nome || '!');
DBMS_OUTPUT.PUT_LINE('L''area del tuo cerchio è: ' || ROUND(area, 2) || ' unità quadrate.');
ELSE
DBMS_OUTPUT.PUT_LINE('Questa non è una calcolatrice di cerchi.');
END IF;
END;

Output:

Ciao, Alice!
L'area del tuo cerchio è: 78.54 unità quadrate.

In questo esempio, abbiamo utilizzato costanti (pi e saluto), literali numerici (5), literali stringa ('Alice'), e un literale booleano (TRUE). Abbiamo anche eseguito un calcolo utilizzando questi valori e visualizzato il risultato.

Conclusione

Complimenti! Avete appena fatto i vostri primi passi nel mondo delle costanti e dei literali in PL/SQL. Ricordate, le costanti sono come amici fedeli che rimangono con voi per tutto il programma, mentre i literali sono i mattoni con cui create le vostre opere d'arte PL/SQL.

Mentre continuate il vostro viaggio di programmazione, troverete che questi concetti diventano sempre più utili. Sono strumenti essenziali nel toolkit di qualsiasi programmatore, aiutando a rendere il vostro codice più leggibile, mantenibile ed efficiente.

Continuate a esercitarvi, rimanete curiosi, e prima di sapere, sarete in grado di scrivere programmi PL/SQL complessi con facilità. Buon coding!

Concetto Descrizione Esempio
Costante Un valore che non cambia durante l'esecuzione del programma pi CONSTANT NUMBER(7,6) := 3.141592;
Literale Numerico Un numero utilizzato direttamente nel codice 25, 5.9
Literale Carattere Un singolo carattere racchiuso in singoli apici 'A'
Literale Stringa Una sequenza di caratteri racchiusa in singoli apici 'John Doe'
Literale Booleano Uno dei TRUE, FALSE, o NULL TRUE, FALSE, NULL
Literale Data Un valore data racchiuso in singoli apici '01-Gennaio-2023'

Credits: Image by storyset