Funciones SQL

Páginas: 4 (806 palabras) Publicado: 31 de marzo de 2013
Funciones en Transact SQL
SQL Server proporciona al usuario la posibilidad de definir sus propias funciones, conocidad como UDF (user defined functions). Exisiten tres tipos de funciones. Estasson:
• Funciones escalares.
• Funciones en línea.
• Funciones en línea de multiples sentencias
Funciones escalares
Las funciones escalares devuelven un único valor de cualquier tipo de losdatos tal como int, money, varchar, real, etc.
La sintaxis para una función escalar es la siguiente:

CREATE FUNCTION
(
-- Lista de parámetros
, ...
)
-- Tipo de datos que devuelve lafunción.
RETURNS
AS
BEGIN
...
END
El siguiente ejemplo muestra como crear una función escalar.

CREATE FUNCTION fn_MultiplicaSaldo
(
@NumCuenta VARCHAR(20),
@MultiplicadorDECIMAL(10,2)
)
RETURNS DECIMAL(10,2)
AS
BEGIN
DECLARE @Saldo DECIMAL(10,2),
@Return DECIMAL(10,2)

SELECT @Saldo = SALDO
FROM CUENTAS
WHERE NUMCUENTA = @NumCuenta

SET @Return = @Saldo *@Multiplicador

RETURN @Return
END
Pueden ser utilizadas en cualquier sentencia Transact SQL. Un aspecto a tener en cuenta, es que para utilizar una función escalar debemos identificar el nombrede la función con el propietario de la misma.
El siguiente ejemplo muestra como utilizar la función anteriormente creada en una sentencia Transact SQL. Un aspecto muy a tener en cuenta es que lafunción ejecutará sus sentencias SELECT una vez por cada fila del conjunto de resultados devuelto por la consulta SELECT principal.

SELECT IDCUENTA,
NUMCUENTA,
SALDO,
FXALTA,
--Ejecucion de la funcion:
dbo.fn_MultiplicaSaldo( NUMCUENTA, IDCUENTA) AS RESULTADO
FROM CUENTAS
El siguiente ejemplo muestra como utilizar una función escalar en un script Transact SQL.

DECLARE@NumCuenta VARCHAR(20),
@Resultado DECIMAL(10,2)

SET @NumCuenta = '200700000001'
SET @Resultado = dbo.fn_MultiplicaSaldo(@NumCuenta, 30.5)

PRINT @Resultado
Las funciones escalares son...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Funciones en sql
  • Funciones SQL
  • Funciones en sql
  • Funciones sql server
  • Funciones de cadena sql
  • Funciones Agrupamiento En Sql
  • Funciones Básicas SQL
  • Funciones Basicas de SQL

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS