Está en la página 1de 92

Introduccin

Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Base de datos
Procedimientos Almacenados y Funciones

Eduardo Saavedra A.
Universidad Nacional Andrs Bello
4 de noviembre de 2008

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Ventajas

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Ventajas

Procedimiento Almacenado (SP)

Un procedimiento almacenado (SP) es un programa (o procedimiento) el cual es


almacenado fsicamente en una base de datos.
Generalmente son escritos en un lenguaje de bases de datos propietario como
PL/SQL para Oracle database o PL/PgSQL para PostgreSQL.
La ventaja de un procedimiento almacenado es que al ser ejecutado, en
respuesta a una peticin de usuario, es ejecutado directamente en el motor de
bases de datos, el cual usualmente corre en un servidor.
Como tal, posee acceso directo a los datos que necesita manipular y solo
necesita enviar sus resultados de regreso al usuario, deshacindose de la
sobrecarga resultante de comunicar grandes cantidades de datos salientes y
entrantes.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Ventajas

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Ventajas

Ventajas

Diseo modular.
Aplicaciones que acceden la misma Base de Datos pueden compartir los
procedimientos almacenados, eliminando el cdigo doble y reduciendo el tamao
de las aplicaciones.
El fcil mantenimiento.
Mejoras en trfico de RED!!!
Cuando un procedimiento se actualiza, los cambios se reflejan automticamente
en todas las aplicaciones, sin la necesidad de recompilar y relinkear. Las
aplicaciones son compiladas slo una vez para cada cliente.
Los procedimientos almacenados son ejecutados por el servidor, no por el cliente
lo que reduce el trfico en la red y mejora el performance o desempeo,
especialmente para el acceso del cliente remoto.
Estn almacenados en los servidores y asegurados por las medidas tomadas en
la instalacin, lo que impide que los usuarios normales puedan modificarlos e
incluso desconocen su existencia. Este es un elemento de gran valor en lo que a
seguridad respecta.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?


Lo que ocurrir ser que para la base de datos Autos, se crear un procedimiento
almacenado llamado sp_Ciudades.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?


Lo que ocurrir ser que para la base de datos Autos, se crear un procedimiento
almacenado llamado sp_Ciudades.
Este procedimiento podr ser llamado desde cualquier punto en alguna aplicacin
externa al SGBD.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?


Lo que ocurrir ser que para la base de datos Autos, se crear un procedimiento
almacenado llamado sp_Ciudades.
Este procedimiento podr ser llamado desde cualquier punto en alguna aplicacin
externa al SGBD.
Por supuesto, tambin puede ser llamado de forma interna

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?


Lo que ocurrir ser que para la base de datos Autos, se crear un procedimiento
almacenado llamado sp_Ciudades.
Este procedimiento podr ser llamado desde cualquier punto en alguna aplicacin
externa al SGBD.
Por supuesto, tambin puede ser llamado de forma interna

Este procedimiento es de los ms bsicos, donde simplemente se genera una


tabla temporal mostrando las ciudades de la tabla cliente.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Un procedimiento almacenado
Utilizando la base de datos Autos:
1
2
3
4

CREATE PROCEDURE sp_Ciudades


AS
SELECT DISTINCT Ciudad
FROM Cliente;

Qu cree que genera el cdigo anterior?


Lo que ocurrir ser que para la base de datos Autos, se crear un procedimiento
almacenado llamado sp_Ciudades.
Este procedimiento podr ser llamado desde cualquier punto en alguna aplicacin
externa al SGBD.
Por supuesto, tambin puede ser llamado de forma interna

Este procedimiento es de los ms bsicos, donde simplemente se genera una


tabla temporal mostrando las ciudades de la tabla cliente.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Invocacin de un procedimiento almacenado

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Invocacin de un procedimiento almacenado

El siguiente cdigo invoca un SP.


1

EXEC sp_Ciudades;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Invocacin de un procedimiento almacenado

El siguiente cdigo invoca un SP.


1

EXEC sp_Ciudades;

Como es de esperar el resultado de la ejecucin es la siguiente:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Invocacin de un procedimiento almacenado

El siguiente cdigo invoca un SP.


1

EXEC sp_Ciudades;

Como es de esperar el resultado de la ejecucin es la siguiente:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float
date

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float
date
etc...

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float
date
etc...

Adems para asignar un valor a una variable (A 0 50 ) se debe utilizar la palabra


clave SET.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float
date
etc...

Adems para asignar un valor a una variable (A 0 50 ) se debe utilizar la palabra


clave SET.
Se pueden Setear a una variable los resultados de un SQL que devuelva UN
registro.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Uno de los potenciales de los SP es que son capaces de manejar Variables, tal y
como en un lenguaje de programacin de alto nivel.
Todas la variables deben ser antecedidades por la palabra. clave DECLARE y
antes de la definicin de su nombre una @.
Las variables a declarar pueden ser de cualquier tipo que el SGBD soporte.
Para SQL Server por ejemplo se tendran:
varchar(n)
int
bigint
float
date
etc...

Adems para asignar un valor a una variable (A 0 50 ) se debe utilizar la palabra


clave SET.
Se pueden Setear a una variable los resultados de un SQL que devuelva UN
registro.
Una variable puede ser declarada como de Salida (output)
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Por lo tanto sera invalido declarar @Nivel como int y tratar de Setearlo con
Hola!(de tipo varchar).

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Por lo tanto sera invalido declarar @Nivel como int y tratar de Setearlo con
Hola!(de tipo varchar).
Ejemplo de uso de variables
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Por lo tanto sera invalido declarar @Nivel como int y tratar de Setearlo con
Hola!(de tipo varchar).
Ejemplo de uso de variables
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Por lo tanto sera invalido declarar @Nivel como int y tratar de Setearlo con
Hola!(de tipo varchar).
Ejemplo de uso de variables
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Lo marcado en rojo es lo que el SGBD desplegar, esto no siempre es vlido ya


que un SP debe devolver algn valor.
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Declarar variables en un SP
Por lo tanto sera invalido declarar @Nivel como int y tratar de Setearlo con
Hola!(de tipo varchar).
Ejemplo de uso de variables
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Lo marcado en rojo es lo que el SGBD desplegar, esto no siempre es vlido ya


que un SP debe devolver algn valor.
De todas maneras es til para ver lo que ocurre en el SP.
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.
Esto logra una gran versatilidad del uso de los SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.
Esto logra una gran versatilidad del uso de los SP
Para definir parmetros, ellos deben estar antes de la palabra clave AS

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.
Esto logra una gran versatilidad del uso de los SP
Para definir parmetros, ellos deben estar antes de la palabra clave AS
No se requiere declararlos con la palabra DECLARE

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.
Esto logra una gran versatilidad del uso de los SP
Para definir parmetros, ellos deben estar antes de la palabra clave AS
No se requiere declararlos con la palabra DECLARE
Respectivo a los parmetros de entrada
Un usuario puede usar un SP con distintos parmetros de entrada y obtendr
siempre resultados distintos.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Como es de esperar, los SP al igual que las funciones en lenguajes de
programacin, son capaces de aceptar parmetros de entrada y salida.
Esto logra una gran versatilidad del uso de los SP
Para definir parmetros, ellos deben estar antes de la palabra clave AS
No se requiere declararlos con la palabra DECLARE
Respectivo a los parmetros de entrada
Un usuario puede usar un SP con distintos parmetros de entrada y obtendr
siempre resultados distintos.
Respectivo a los parmetros de salida
Los parmetros de salida SIEMPRE deben estar declarados de la siguiente
forma:
@Parmetro OUTPUT
Para adquirir los parmetros de salida, es fundamental haber definido la variable
antes de llamar al SP.
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Ejemplo de uso de parmetros
ALTER PROCEDURE sp_SemestreMax
@Anio varchar(80), @Semestre varchar(80) out
AS
SET @Semestre = (
SELECT Semestre_Precio.Semestre
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre
HAVING sum(Semestre_Precio.PRECIO) = (
SELECT max(maximo.Suma_Periodo)
FROM(
SELECT sum(Semestre_Precio.PRECIO) as Suma_Periodo
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre ) as maximo
)
) SELECT @Semestre as Semestre;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Ejemplo de uso de parmetros
ALTER PROCEDURE sp_SemestreMax
@Anio varchar(80), @Semestre varchar(80) out
AS
SET @Semestre = (
SELECT Semestre_Precio.Semestre
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre
HAVING sum(Semestre_Precio.PRECIO) = (
SELECT max(maximo.Suma_Periodo)
FROM(
SELECT sum(Semestre_Precio.PRECIO) as Suma_Periodo
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre ) as maximo
)
) SELECT @Semestre as Semestre;

Nuevamente se utiliza la sentencia final para mostrar una tabla con el resultado,
sin embargo, lo ideal es usar el parmetro de salida @Semestre !!
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Parmetros de SP
Ejemplo de uso de parmetros
ALTER PROCEDURE sp_SemestreMax
@Anio varchar(80), @Semestre varchar(80) out
AS
SET @Semestre = (
SELECT Semestre_Precio.Semestre
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre
HAVING sum(Semestre_Precio.PRECIO) = (
SELECT max(maximo.Suma_Periodo)
FROM(
SELECT sum(Semestre_Precio.PRECIO) as Suma_Periodo
FROM (
SELECT YEAR(FECHA) as ANHO, MONTH(FECHA)/7+1 as Semestre, PRECIO
FROM AUTOMOVIL
WHERE YEAR(FECHA)=@Anio
) as Semestre_Precio
GROUP BY Semestre_Precio.Semestre ) as maximo
)
) SELECT @Semestre as Semestre;

Nuevamente se utiliza la sentencia final para mostrar una tabla con el resultado,
sin embargo, lo ideal es usar el parmetro de salida @Semestre !!
Entonces... Como llamarlo?
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:


EXEC sp_SemestreMax 2008

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:


EXEC sp_SemestreMax 2008
Sin embargo, como se defini una variable de salida, es necesario declarar esa
variable antes de llamar al SP. Luego de esto se utiliza como parmetro para
quedar cargada con el valor de salida.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:


EXEC sp_SemestreMax 2008
Sin embargo, como se defini una variable de salida, es necesario declarar esa
variable antes de llamar al SP. Luego de esto se utiliza como parmetro para
quedar cargada con el valor de salida.
Luego de terminar el SP es posible utilizar esa variable declarada:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:


EXEC sp_SemestreMax 2008
Sin embargo, como se defini una variable de salida, es necesario declarar esa
variable antes de llamar al SP. Luego de esto se utiliza como parmetro para
quedar cargada con el valor de salida.
Luego de terminar el SP es posible utilizar esa variable declarada:
Ejemplo de uso de parmetros
DECLARE @Semestre varchar(80)
EXEC sp_SemestreMax 2007, @Semestre OUTPUT
SELECT @Semestre

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Llamadas de un SP con parmetros de salida

Como se podra pensar, la llamada debera ser:


EXEC sp_SemestreMax 2008
Sin embargo, como se defini una variable de salida, es necesario declarar esa
variable antes de llamar al SP. Luego de esto se utiliza como parmetro para
quedar cargada con el valor de salida.
Luego de terminar el SP es posible utilizar esa variable declarada:
Ejemplo de uso de parmetros
DECLARE @Semestre varchar(80)
EXEC sp_SemestreMax 2007, @Semestre OUTPUT
SELECT @Semestre

Las llamadas a SP con parmetros deben realizarce utilizando la palabra clave


EXEC seguidas de el nombre del procedimiento, luego todos los parmetros
requeridos deben ir separados por , (coma).

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

SPs Anidados

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

SPs Anidados
Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

SPs Anidados
Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro
Por ejemplo, si agregamos esto en el primer procedimiento visto:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

SPs Anidados
Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro
Por ejemplo, si agregamos esto en el primer procedimiento visto:
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
DECLARE @Semestre varchar(80)
EXEC sp_SemestreMax 2007, @Semestre output
PRINT @Semestre
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

SPs Anidados
Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro
Por ejemplo, si agregamos esto en el primer procedimiento visto:
ALTER PROCEDURE sp_Ciudades
AS
DECLARE @Nivel varchar(80)
DECLARE @Ciudad varchar(80)
DECLARE @Semestre varchar(80)
EXEC sp_SemestreMax 2007, @Semestre output
PRINT @Semestre
SET @Ciudad=(
SELECT TOP 1 Ciudad
FROM Cliente as C
INNER JOIN AUTOMOVIL AS A ON A.RUT = C.RUT
ORDER BY A.PRECIO DESC)
IF @Ciudad = Santiago
BEGIN
SET @Nivel = 1
END
ELSE
SET @Nivel = 0
SELECT @Nivel as Nivel;

Y por supuesto, la variable @Semestre podra ser utilizada en cualquier lugar del
procedimiento Padre ;)
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP
Si llegamos a un concenso, podramos decir que la estructura de un SP tpico es
la siguiente:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP
Si llegamos a un concenso, podramos decir que la estructura de un SP tpico es
la siguiente:
CREATE PROCEDURE nombre_sp
@Param1 tipo OUT|IN,
@Param2 tipo OUT|IN,
...
@ParamN tipo OUT|IN
AS
--Cuerpo SP
DECLARE @Var1 tipo
DECLARE @Var2 tipo
...
DECLARE @VarN tipo
Sentencias de control &|
SQLs &|
Llamadas a otros SP &|
Etc.
--Fin Cuerpo SP
;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP
Si llegamos a un concenso, podramos decir que la estructura de un SP tpico es
la siguiente:
CREATE PROCEDURE nombre_sp
@Param1 tipo OUT|IN,
@Param2 tipo OUT|IN,
...
@ParamN tipo OUT|IN
AS
--Cuerpo SP
DECLARE @Var1 tipo
DECLARE @Var2 tipo
...
DECLARE @VarN tipo
Sentencias de control &|
SQLs &|
Llamadas a otros SP &|
Etc.
--Fin Cuerpo SP
;

Ahora si se quiere actualizar el cdigo del SP, en vez de usar la palabra CREATE
inicialmente se utiliza ALTER .

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP
Si llegamos a un concenso, podramos decir que la estructura de un SP tpico es
la siguiente:
CREATE PROCEDURE nombre_sp
@Param1 tipo OUT|IN,
@Param2 tipo OUT|IN,
...
@ParamN tipo OUT|IN
AS
--Cuerpo SP
DECLARE @Var1 tipo
DECLARE @Var2 tipo
...
DECLARE @VarN tipo
Sentencias de control &|
SQLs &|
Llamadas a otros SP &|
Etc.
--Fin Cuerpo SP
;

Ahora si se quiere actualizar el cdigo del SP, en vez de usar la palabra CREATE
inicialmente se utiliza ALTER .
Asimismo para borrar un SP, basta con:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

La estructura de un SP
Si llegamos a un concenso, podramos decir que la estructura de un SP tpico es
la siguiente:
CREATE PROCEDURE nombre_sp
@Param1 tipo OUT|IN,
@Param2 tipo OUT|IN,
...
@ParamN tipo OUT|IN
AS
--Cuerpo SP
DECLARE @Var1 tipo
DECLARE @Var2 tipo
...
DECLARE @VarN tipo
Sentencias de control &|
SQLs &|
Llamadas a otros SP &|
Etc.
--Fin Cuerpo SP
;

Ahora si se quiere actualizar el cdigo del SP, en vez de usar la palabra CREATE
inicialmente se utiliza ALTER .
Asimismo para borrar un SP, basta con:
DROP PROCEDURE nombre_sp ;
Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP


Existen para SQL server 3 tipos:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP


Existen para SQL server 3 tipos:
Escalares: Retorna valores Constantes

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP


Existen para SQL server 3 tipos:
Escalares: Retorna valores Constantes
De tablas: Maneja tablas de tal forma de retornar un set de tuplas.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP


Existen para SQL server 3 tipos:
Escalares: Retorna valores Constantes
De tablas: Maneja tablas de tal forma de retornar un set de tuplas.
De multiples declaraciones: Maneja tablas incluyendo su estructura base.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

La estructura es casi idntica a un SP


Existen para SQL server 3 tipos:
Escalares: Retorna valores Constantes
De tablas: Maneja tablas de tal forma de retornar un set de tuplas.
De multiples declaraciones: Maneja tablas incluyendo su estructura base.

Sin duda los mas utilizados son los escalares, ya que los dems pueden ser
suplidos por vistas (a excepcin del de multiples declaraciones que puede ser una
herramienta sumamente potente)

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.
Ejemplo:

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.
Ejemplo:
CREATE FUNCTION dbo.Metros_a_pulgadas (@Metros DECIMAL(10,3), @VAR_DUMMY INT)
RETURNS DECIMAL(10,3)
AS
BEGIN
DECLARE @Pulgadas DECIMAL(10,3)
SET @Pulgadas = (@Metros * 3.281 ) * 12 +@VAR_DUMMY
RETURN @Pulgadas
END
;

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.
Ejemplo:
CREATE FUNCTION dbo.Metros_a_pulgadas (@Metros DECIMAL(10,3), @VAR_DUMMY INT)
RETURNS DECIMAL(10,3)
AS
BEGIN
DECLARE @Pulgadas DECIMAL(10,3)
SET @Pulgadas = (@Metros * 3.281 ) * 12 +@VAR_DUMMY
RETURN @Pulgadas
END
;

Las palabras marcadas son las mas importantes.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.
Ejemplo:
CREATE FUNCTION dbo.Metros_a_pulgadas (@Metros DECIMAL(10,3), @VAR_DUMMY INT)
RETURNS DECIMAL(10,3)
AS
BEGIN
DECLARE @Pulgadas DECIMAL(10,3)
SET @Pulgadas = (@Metros * 3.281 ) * 12 +@VAR_DUMMY
RETURN @Pulgadas
END
;

Las palabras marcadas son las mas importantes.


se debe declarar el tipo de retorno de la funcin

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Conceptos
Ejemplo

Declarar funciones

Las funciones son muy similares a las utilizadas en cualquier lenguaje de


programacin, se usan parntesis para los parmetros y se utiliza la palabra clave
return para devolver valores.
Ejemplo:
CREATE FUNCTION dbo.Metros_a_pulgadas (@Metros DECIMAL(10,3), @VAR_DUMMY INT)
RETURNS DECIMAL(10,3)
AS
BEGIN
DECLARE @Pulgadas DECIMAL(10,3)
SET @Pulgadas = (@Metros * 3.281 ) * 12 +@VAR_DUMMY
RETURN @Pulgadas
END
;

Las palabras marcadas son las mas importantes.


se debe declarar el tipo de retorno de la funcin
Al final de la instrucciones debe ir un RETURN, con la variable a retornar, seguido
de un END.

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Contenidos

Introduccin
Ventajas

Programacin
Creacin de un SP
Invocando un SP
Declaracin de variables
Declaracin de Parmetros

Procedimientos en Procedimientos...

SP Genrico

Funciones
Conceptos
Ejemplo

Referencias

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Referencias

Bibliografa
[Funcionalidades SQL Server, 2005] Microsoft Team.
MSDN
[SQL Server 2005 for dummies, 2003] Microsoft Team.
Capitulos 14 y 15
[Manual SP y Funciones, 2002] Mitchell Harper.
http://www.devarticles.com

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Referencias

Bibliografa
[Funcionalidades SQL Server, 2005] Microsoft Team.
MSDN
[SQL Server 2005 for dummies, 2003] Microsoft Team.
Capitulos 14 y 15
[Manual SP y Funciones, 2002] Mitchell Harper.
http://www.devarticles.com

Eduardo Saavedra A.

SQL Server 2005

Introduccin
Programacin
Procedimientos en Procedimientos...
SP Genrico
Funciones
Referencias

Referencias

Bibliografa
[Funcionalidades SQL Server, 2005] Microsoft Team.
MSDN
[SQL Server 2005 for dummies, 2003] Microsoft Team.
Capitulos 14 y 15
[Manual SP y Funciones, 2002] Mitchell Harper.
http://www.devarticles.com

Dudas, Consultas?
4 de noviembre de 2008

Eduardo Saavedra A.

SQL Server 2005

También podría gustarte