Top Ad unit 728 × 90

Recientes

recent

Funciones Sql Server - Bases de Datos en Microsoft Sql Server 2014 (32-35)

Buen día amigos de IncanatoIt, continuamos en este curso de base de datos en Microsoft Sql Server 2014, en este artículo trabajaremos con funciones en sql server.

Puedes seguir el curso Completo desde:
Puedes descargar el Material del Curso desde:

Archivos del Curso, Backup y Presentaciones  http://adf.ly/pl1Bk

Programación Transact SQL

Scripts
Procedimientos Almacenados
Funciones
Triggers

Funciones

Rutina almacenada que recibe unos parámetros escalares de entrada, luego los procesa según el cuerpo definido de la función y por último retorna un resultado de un tipo especifico que permitirá cumplir un objetivo.

SQL Server proporciona numerosas funciones integradas y permite crear funciones definidas por el usuario.



Tipos de Funciones

Funciones del Sistema:
SQL Server cuenta con una gran variedad de funciones dependiendo de los valores o configuraciones que deseamos realizar, a continuación mostramos algunas funciones del sistema:
  • Funciones de Agregado: SUM, AVG, COUNT,MAX, MIN
  • Funciones de Fecha y Hora: GETDATE, DAY, MONTH, YEAR, DATEADD, DATEDIF, ISDATE
  • Funciones Matemáticas: ABS, RAND, LOG10, SQRT, POWER, TAN, PI, RADIANS
Funciones definidas por el usuario:
Las funciones definidas por el usuario de SQL Server son rutinas que aceptan parámetros, realizan una acción, como un cálculo complejo, y devuelven el resultado de esa acción como un valor (único o conjunto de valores).

Funciones - Sintáxis

Create Function Nombre_Función 
(@parámetro1 as  [Tipo Dato] = [ValorxDefecto],
@parámetroN as  [Tipo Dato] = [ValorxDefecto])
RETURNS TipoDato_Returnado
AS
BEGIN
<Instrucciones>
RETURN Expresión_salida
END


Ejemplos:

Ejemplo 1:
Implementar una función que devuelva el promedio de dos números ingresados por el usuario.


--Evaluamos primero si ya existe la función

--que queremos implementar si ya existe la eliminamos

IF object_id('calcularpromedio') is not null

BEGIN

     DROP FUNCTION dbo.calcularpromedio

END
go
--Implementamos la función con dos parámetros de entrada
CREATE FUNCTION calcularpromedio
(@valor1 as decimal(10,2),@valor2 decimal(10,2))
RETURNS decimal(10,2)
AS
BEGIN
     DECLARE @resultado decimal(10,2)
     SET @resultado=(@valor1+@valor2)/2
     RETURN @resultado
END
GO
--Ejecutamos la función con un select y le enviamos
--los dos parámetros de entrada (DBO es el nombre del propietario)
select dbo.calcularpromedio(12,13) as Promedio
--Ejecutamos la función con un print y le enviamos
--los dos parámetros de entrada
print 'Promedio: ' + cast(dbo.calcularpromedio(12,13) as Char(10))


Ejemplo 2:
Implementar una función que devuelva el nombre de un mes en letras según una fecha ingresada por el usuario.

Tabla Pasajero - País - Pago






--Evaluamos primero si ya existe la función

--que queremos implementar, si ya existe la eliminamos

IF object_id('fechaletras') is not null

BEGIN

     DROP FUNCTION dbo.fechaletras

END
go
--Implementamos la función con un solo parámetro de entrada
CREATE FUNCTION fechaletras (@fecha as DATE)
RETURNS varchar(20)
AS
BEGIN
     DECLARE @resultado varchar(20)
     SET @resultado=concat(day(@fecha),' de ',datename(month,@fecha),
     ' del ',year(@fecha))
    
     RETURN @resultado
END
GO
--Ejecutamos la función con un select y le enviamos
--el parámetro de entrada
select dbo.fechaletras('2015-08-08') as [Fecha Actual]

select dbo.fechaletras(pag.fecha) as Fecha,
(pas.nombre + ' ' +pas.apaterno) as pasajero,
pag.tipo_comprobante,pag.num_comprobante
from pago pag inner join pasajero pas
on pag.idpasajero=pas.idpasajero
go





Ejemplo 3:


Implementar una función de tabla en línea que muestre los registros de la tabla pasajero dependiendo del país de proveniencia.



Tabla Pasajero - País



--Evaluamos primero si ya existe la función

--que queremos implementar, si ya existe la eliminamos

IF object_id('pasajeroxpais') is not null

BEGIN

     DROP FUNCTION dbo.pasajeroxpais

END
go
--Implementamos la función con un solo parámetro de entrada
CREATE FUNCTION pasajeroxpais (@pais as varchar(30))
RETURNS TABLE
AS
     RETURN (SELECT pas.idpasajero,(pas.nombre + ' ' +
     pas.apaterno) as Pasajero,pai.nombre as Pais
     from pasajero pas inner join pais pai
     on pai.idpais=pas.idpais
     where pai.nombre=@pais)

GO
--Ejecutamos la función con un select,
--Mostraremos los pasajeros del país Perú
select * from dbo.pasajeroxpais('Perú')
go





Funciones (32-35) Bases de Datos en Microsoft Sql Server 2014








Saludos Imperio, un abrazo a la distancia!.
Funciones Sql Server - Bases de Datos en Microsoft Sql Server 2014 (32-35) Reviewed by Juan Carlos Arcila Díaz on 10:30 Rating: 5

1 comentario:

  1. Que conviene en este caso una función o un procedimiento almacenado?

    ResponderEliminar

All Rights Reserved by www.IncanatoIT.com - Desarrollando Software © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

IncanatoIt.com. Con la tecnología de Blogger.