Академический Документы
Профессиональный Документы
Культура Документы
Base de datos
Procedimientos Almacenados y Funciones
Eduardo Saavedra A.
Universidad Nacional Andrs Bello 4 de noviembre de 2008
Eduardo Saavedra A.
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.
Ventajas
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.
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.
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.
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.
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.
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
Este procedimiento es de los ms bsicos, donde simplemente se genera una tabla temporal mostrando las ciudades de la tabla cliente.
Eduardo Saavedra A.
Este procedimiento es de los ms bsicos, donde simplemente se genera una tabla temporal mostrando las ciudades de la tabla cliente.
Eduardo Saavedra A.
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.
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
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.
Declarar variables en un SP
Eduardo Saavedra A.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Declarar variables en un SP
Eduardo Saavedra A.
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.
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.
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.
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
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
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.
Parmetros de SP
Eduardo Saavedra A.
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.
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.
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.
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.
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.
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
Parmetros de SP
Eduardo Saavedra A.
Eduardo Saavedra A.
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
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
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
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.
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.
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.
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.
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.
SPs Anidados
Eduardo Saavedra A.
SPs Anidados Como bien se menciono anteriormente, un SP puede ser utilizado dentro de otro
Eduardo Saavedra A.
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.
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.
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
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.
La estructura de un SP
Eduardo Saavedra A.
Eduardo Saavedra A.
Eduardo Saavedra A.
Ahora si se quiere actualizar el cdigo del SP, en vez de usar la palabra CREATE inicialmente se utiliza ALTER .
Eduardo Saavedra A.
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.
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
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.
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.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
Conceptos Ejemplo
Declarar funciones
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.
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.
Conceptos Ejemplo
Declarar funciones
Eduardo Saavedra A.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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