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.