Funciones definidas por el usuario escalares

Escritura de funciones y procedimientos almacenados en SQL Server

Meghan Kwartler

IT Consultant

Funciones definidas por el usuario (UDF)

¿Qué son?

Rutinas que

  • Aceptan parámetros de entrada
  • Ejecutan una acción
  • Devuelven un resultado (valor escalar único o tabla)

¿Por qué?

  • Reducen el tiempo de ejecución
  • Reducen el tráfico de red
  • Permiten programación modular
Escritura de funciones y procedimientos almacenados en SQL Server

¿Qué es la programación modular?

  • Técnica de diseño de software
  • Separa la funcionalidad en módulos independientes e intercambiables
  • Permite reutilizar código
  • Mejora la legibilidad del código
Escritura de funciones y procedimientos almacenados en SQL Server

Funciones en recetas

Funciones en recetas

Escritura de funciones y procedimientos almacenados en SQL Server

Parámetros de entrada de la función hornear

Parámetros de entrada de la función hornear

Escritura de funciones y procedimientos almacenados en SQL Server

UDF escalar sin parámetros de entrada

-- Scalar function with no input parameters
CREATE FUNCTION GetTomorrow()
    RETURNS date AS BEGIN
RETURN (SELECT DATEADD(day, 1, GETDATE()))
END
Escritura de funciones y procedimientos almacenados en SQL Server

UDF escalar con un parámetro

-- 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;
Escritura de funciones y procedimientos almacenados en SQL Server

UDF escalar con dos parámetros de entrada

-- 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;
Escritura de funciones y procedimientos almacenados en SQL Server

¡Tu turno de crear UDF!

Escritura de funciones y procedimientos almacenados en SQL Server

Preparing Video For Download...