You are on page 1of 14

BASE DE DATOS II

Unidad I
Funciones almacenadas
Conocimientos previos

• ¿Qué sabemos de funciones ?


• ¿Recuerdas que es un parámetro ?
• ¿ como se almacenan los procedimientos en el gestor de
base de datos ?

3
SQL – Funciones almacenadas
Bases de Datos

BASES DE DATOS

Definición
- Una funció n almacenada es un conjunto de sentencias SQL y de control de flujo, que operan
como una unidad ló gica.
- Una funció n almacenada es una colecció n de instrucciones guardadas en la Base de
Datos.
- La ventaja de una funció n almacenada es que al ser ejecutada, este se ejecuta
directamente en el motor de base de datos, el cual usualmente corre en un servidor por
separado.
Constituye una rutina que retorna un valor
Cuando se usan ?

 Cuando múltiples aplicaciones cliente se


escriben en distintos lenguajes o funcionan en
distintas plataformas, pero necesitan realizar la
misma operación en la base de datos.

 Cuando la seguridad es muy importante. Los


bancos, por ejemplo, usan procedimientos
almacenados para todas las oparaciones
comunes. Esto proporciona un entorno seguro y
consistente, y los procedimientos pueden
asegurar que cada operación se loguea
apropiadamente. En tal entorno, las
aplicaciones y los usuarios no obtendrían
ningún acceso directo a las tablas de la base de
datos, sólo pueden ejectuar algunos
procedimientos almacenados.
5
SQL – Funciones Almacenadas
Bases de Datos

BASES DE DATOS

Ventajas
- Simplifican la ejecució n de tareas repetitivas.
- Corren mas rá pido que las mismas instrucciones ejecutadas en forma interactiva.
- Reducen el trafico a través de la red.
- Pueden capturar errores antes que ellos puedan entrar a la base de datos.
- Establece consistencia porque ejecuta las tareas de la misma forma.
- Permite el desarrollo modular de aplicaciones.
- Ayuda a proveer seguridad.
- Puede forzar reglas y defaults complejos de los negocios.
SQL – Función almacenada
Bases de Datos

BASES DE DATOS
SQL – Función almacenada
Bases de Datos

BASES DE DATOS

Clasificación: Las funciones pueden clasificarse en:

Determinísticas: Siempre retornan el mismo resultado si se las invoca enviando el mismo


valor de entrada. Todas las funciones de agregado y String son determinísticas.
- No determinísticas: Pueden retornar distintos resultados cada vez que se invocan, con el
mismo valor de entrada.: Getdate, rand, etc.
SQL – Función almacenada
Bases de Datos

BASES DE DATOS

Sql Server admite 3 tipos de funciones definidas por el usuario, clasificadas según el valor
retornado:

1) Escalares: Retornan un valor escalar


2) De tabla de varias instrucciones (Retornan una tabla)
3) De tabla en línea (Retornan una tabla)
SQL – Funciones Almacenadas
Bases de Datos

BASES DE DATOS
Ventajas

Una funció n almacenada se ejecuta má s rá pido que un batch porque:

Ya se han resuelto las


La funció n almacenada referencias a los objetos
ya ha sido analizado. referenciados en la
funció n almacenada.

No se necesita construir
No se necesita crear un
el á rbol de bú squeda, el
plan de bú squeda,
usa el que se hace en el
porque ya la funció n
momento de
tiene uno.
compilarlo.
SQL – Función almacenada
Bases de Datos

BASES DE DATOS

Crear función almacenada

La instrucción general para crear procedimientos almacenados es la siguiente:


CREATE function nombre (@parámetro tipo =valorpordefecto) returns TIPO
BEGIN
INSTRUCCION SQL
RETURN VALOR
END
SQL – Funciones Almacenadas
Bases de Datos

BASES DE DATOS

- Ejemplo:
SQL – Funciones Almacenadas
Bases de Datos

BASES DE DATOS

- Ejemplo:
SQL – Funciones Almacenadas
Bases de Datos

BASES DE DATOS

- Sintaxis de borrado:
DROP FUNCTION nombre_funcio

Ejemplo:
DROP FUNCTION ps_verpais

You might also like