Вы находитесь на странице: 1из 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 trco de RED!!! Cuando un procedimiento se actualiza, los cambios se reejan 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 trco 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 modicarlos 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 denicin 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 denicin 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 denicin 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 denicin 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 denicin 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 denicin 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 denicin 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 oat

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 denicin 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 oat 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 denicin 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 oat 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 denicin 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 oat date etc...

Adems para asignar un valor a una variable (A 5 ) 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 denicin 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 oat date etc...

Adems para asignar un valor a una variable (A 5 ) 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 denicin 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 oat date etc...

Adems para asignar un valor a una variable (A 5 ) 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 denir 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 denir 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 denir 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 denir 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 denido 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 nal 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 nal 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 deni 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 deni 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 deni 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 deni 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 nal 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

Вам также может понравиться