Funzioni scalari definite dall’utente

Scrivere funzioni e stored procedure in SQL Server

Meghan Kwartler

IT Consultant

Funzioni definite dall’utente (UDF)

Cosa?

Routine che

  • Possono accettare parametri di input
  • Eseguono un’azione
  • Restituiscono un risultato (valore scalare o tabella)

Perché?

  • Possono ridurre i tempi di esecuzione
  • Possono ridurre il traffico di rete
  • Consentono programmazione modulare
Scrivere funzioni e stored procedure in SQL Server

Cos’è la programmazione modulare?

  • Tecnica di progettazione software
  • Separa le funzionalità in moduli indipendenti e intercambiabili
  • Consente il riuso del codice
  • Migliora la leggibilità del codice
Scrivere funzioni e stored procedure in SQL Server

Funzioni nelle ricette

Funzioni nelle ricette

Scrivere funzioni e stored procedure in SQL Server

Parametri di input della funzione Bake

Parametri di input della funzione Bake

Scrivere funzioni e stored procedure in SQL Server

UDF scalare senza parametri di input

-- Scalar function with no input parameters
CREATE FUNCTION GetTomorrow()
    RETURNS date AS BEGIN
RETURN (SELECT DATEADD(day, 1, GETDATE()))
END
Scrivere funzioni e stored procedure in SQL Server

UDF scalare con un parametro

-- Scalar function with one parameter
CREATE FUNCTION GetRideHrsOneDay (@DateParm date)
    RETURNS numeric AS BEGIN
RETURN (
  SELECT 
    SUM(
      DATEDIFF(second, PickupDate, DropoffDate)
    )/ 3600 
  FROM 
    YellowTripData 
  WHERE 
    CONVERT (date, PickupDate) = @DateParm
) END;
Scrivere funzioni e stored procedure in SQL Server

UDF scalare con due parametri di input

-- Scalar function with two input parameters
CREATE FUNCTION GetRideHrsDateRange (
  @StartDateParm datetime, @EndDateParm datetime
) RETURNS numeric AS BEGIN RETURN (
  SELECT 
    SUM(
      DATEDIFF(second, PickupDate, DropOffDate)
    )/ 3600 
  FROM YellowTripData 
  WHERE 
    PickupDate > @StartDateParm 
    AND DropoffDate < @EndDateParm
) END;
Scrivere funzioni e stored procedure in SQL Server

Ora tocca a te creare UDF!

Scrivere funzioni e stored procedure in SQL Server

Preparing Video For Download...