Transact-SQL (T-SQL): Fondamenti e Approfondimenti

[Lezione 4] - Procedural Programming in Transact-SQL

24/01/2024


In questa lezione affronteremo i seguenti argomenti:

• Introduzione ai blocchi di codice T-SQL
• Creazione e esecuzione di stored procedure
• Utilizzo di variabili e parametri nelle stored procedure
• Creazione di funzioni scalari e di tabella



Introduzione ai blocchi di codice T-SQL:
I blocchi di codice in Transact-SQL sono segmenti di istruzioni racchiusi tra BEGIN...END.
Esempio:

    BEGIN 
        DECLARE @Variabile INT; 
        SET @Variabile = 10; 
        SELECT @Variabile AS 'Valore'; 
    END; 

Questo blocco di codice dichiara una variabile, le assegna un valore e la restituisce.

Creazione e esecuzione di stored procedure:
Le stored procedure sono insiemi di istruzioni SQL raggruppate in modo logico e salvate nel database.
Esempio:

    --creazione della procedura (store procedure)
    CREATE PROCEDURE TrovaUtentiPerCitta (@Citta NVARCHAR(50)) AS 
    BEGIN 
        SELECT Nome, Cognome FROM Utente WHERE Citta = @Citta; 
    END; 

    --esecuzione della procedura 
    EXEC TrovaUtentiPerCitta 'Roma'; 

Questa stored procedure restituirà i nomi e i cognomi degli utenti che vivono a Roma.

Utilizzo di variabili e parametri nelle stored procedure:
Le variabili e i parametri consentono di passare dati alle stored procedure.
Esempio:

    --creazione della procedura (store procedure)
    CREATE PROCEDURE TrovaUtentiPerEta (@Eta INT) AS 
    BEGIN 
        SELECT Nome, Cognome FROM Utente WHERE Eta = @Eta; 
    END; 

    --esecuzione della procedura 
    EXEC TrovaUtentiPerEta @Eta = 25; 

Questa stored procedure restituirà i nomi e i cognomi degli utenti con un'età di 25 anni.

Creazione di funzioni scalari e di tabella:
Le funzioni in Transact-SQL possono restituire valori scalari o tabelle.
Esempio di funzione scalare:

    --creazione della funzione
    CREATE FUNCTION CalcolaArea (@Raggio INT) RETURNS FLOAT AS 
    BEGIN 
        RETURN 3.14 * @Raggio * @Raggio; 
    END; 

    --esecuzione della funzione
    SELECT dbo.CalcolaArea(5) AS 'Area'; 

Questa funzione calcola l'area di un cerchio dato il raggio.
Esempio di funzione di tabella:
    --creazione della funzione
    CREATE FUNCTION TrovaUtentiPerEtàTabella (@Età INT) RETURNS TABLE AS 
    RETURN ( SELECT Nome, Cognome FROM Utenti WHERE Età = @Età ); 

    --chiamata alla funzione
    SELECT * FROM dbo.TrovaUtentiPerEtàTabella(30); 

Questa funzione restituirà una tabella di utenti con un'età di 30 anni.

In questa lezione, abbiamo esplorato la programmazione procedurale in Transact-SQL attraverso l'uso di blocchi di codice, stored procedure e funzioni. Nelle prossime lezioni, approfondiremo il controllo di flusso e altri concetti avanzati.


< lezione precedente      lezione successiva >