Funcții definite de utilizator scalare

Scrierea funcțiilor și a procedurilor stocate în SQL Server

Meghan Kwartler

IT Consultant

Funcții definite de utilizator (UDF)

Ce sunt?

Rutine care

  • Pot accepta parametri de intrare
  • Execută o acțiune
  • Returnează un rezultat (valoare scalară sau tabel)

De ce?

  • Pot reduce timpul de execuție
  • Pot reduce traficul de rețea
  • Permit programarea modulară
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Ce este programarea modulară?

  • Tehnică de proiectare software
  • Separă funcționalitatea în module independente și interschimbabile
  • Permite reutilizarea codului
  • Îmbunătățește lizibilitatea codului
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Funcții în rețete

Rețetă pentru programarea modulară - funcții

Scrierea funcțiilor și a procedurilor stocate în SQL Server

Parametrii funcției de coacere

Parametri de intrare ai funcției de coacere

Scrierea funcțiilor și a procedurilor stocate în SQL Server

UDF scalar fără parametri de intrare

-- Scalar function with no input parameters
CREATE FUNCTION GetTomorrow()
    RETURNS date AS BEGIN
RETURN (SELECT DATEADD(day, 1, GETDATE()))
END
Scrierea funcțiilor și a procedurilor stocate în SQL Server

UDF scalar cu un parametru

-- 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;
Scrierea funcțiilor și a procedurilor stocate în SQL Server

UDF scalar cu doi parametri de intrare

-- 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;
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Acum este rândul dumneavoastră să creați UDF-uri!

Scrierea funcțiilor și a procedurilor stocate în SQL Server

Preparing Video For Download...