Procedimientos almacenados

Escritura de funciones y procedimientos almacenados en SQL Server

Meghan Kwartler

IT Consultant

¿Qué es un procedimiento almacenado?

¿Qué es?

Rutinas que

  • Aceptan parámetros de entrada
  • Ejecutan acciones (EXECUTE SELECT, INSERT, UPDATE, DELETE y otras sentencias de SP)
  • Devuelven estado (éxito o error)
  • Devuelven parámetros de salida
Escritura de funciones y procedimientos almacenados en SQL Server

¿Por qué usar procedimientos almacenados?

¿Por qué?

  • Puede reducir el tiempo de ejecución
  • Puede reducir el tráfico de red
  • Permite programación modular
  • Mejora la seguridad
Escritura de funciones y procedimientos almacenados en SQL Server

¿En qué se diferencian?

UDF

  • Deben devolver valor
    • Se permite con valor de tabla
  • Se permite ejecutar SELECT incrustado
  • Sin parámetros de salida
  • Sin INSERT, UPDATE, DELETE
  • No pueden ejecutar SP
  • Sin control de errores

SP

  • Valor de retorno opcional
    • Sin valor de tabla
  • No se pueden incrustar en SELECT para ejecutar
  • Devuelven parámetros de salida y estado
  • INSERT, UPDATE, DELETE permitidos
  • Pueden ejecutar funciones y SP
  • Control de errores con TRY...CATCH
Escritura de funciones y procedimientos almacenados en SQL Server

CREATE PROCEDURE con parámetro OUTPUT

-- Primeras cuatro líneas de código
-- El nombre del SP debe ser único 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Escritura de funciones y procedimientos almacenados en SQL Server

CREATE PROCEDURE con parámetro OUTPUT

CREATE PROCEDURE dbo.cuspGetRideHrsOneDay
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
SET NOCOUNT ON
BEGIN
SELECT 
  @RideHrsOut = SUM(
    DATEDIFF(second, PickupDate, DropoffDate)
  )/ 3600
FROM YellowTripData
WHERE CONVERT(date, PickupDate) = @DateParm
RETURN
END;
Escritura de funciones y procedimientos almacenados en SQL Server

Parámetros de salida vs. valores de retorno

Parámetros de salida

  • Pueden ser de cualquier tipo de datos
  • Puedes declarar varios por SP
  • No pueden ser parámetros con valor de tabla

Valor de retorno

  • Indica éxito o error
  • Solo tipo entero
  • 0 indica éxito; distinto de 0, error
Escritura de funciones y procedimientos almacenados en SQL Server

¡Listo para crear PROCEDUREs!

Escritura de funciones y procedimientos almacenados en SQL Server

Preparing Video For Download...