Вы находитесь на странице: 1из 4

1.

Categoras de procedimientos almacenados En la actualidad existes cinco categoras de procedimientos almacenados, entre los que podemos mencionar:
Procedimientos Procedimientos Procedimientos Procedimientos Procedimientos almacenados almacenados almacenados almacenados almacenados del sistema locales temporarios extendidos remotos.

Procedimientos almacenados del sistema

Son procedimientos propios del sistema que son almacenados en la base de datos master y son identificados con el prefijo sp. Entre las tareas que realizan estn la de soportar aplicaciones externas para datos de las tablas del sistema, procedimientos para la administracin de base de datos y funciones de seguridad Ejemplo: Consultar privilegios de la tabla stores de la base de datos Pusbs
USE Pubs GO EXECUTE sp_table_privileges Stores Consultar informacin acerca de usuarios y procesos que se estn ejecutando en una base de datos EXECUTE sp_who @loginame=LAB1\administrator
(login name = nombre de usuario)

Procedimientos almacenados locales

Son usualmente almacenados en una base de datos, diseadas por el desarrollador de base de datos para tareas comunes propias del sistema y de las necesidades del negocio, tambin se puede usar para crear tareas personalizadas en base a procedimientos del sistema
Procedimientos almacenados temporarios

Son similares a los procedimientos almacenados locales pero existe solo hasta que se cierre la conexin que lo creo son almacenados en la base de datos TempDb. Hay tres tipos de procedimientos almacenados temporarios:
Locales (tambin llamados privados), globales, y procedimientos almacenados en TempDB. Un procedimiento almacenado temporario local siempre comienza con #, un procedimiento almacenado temporario global siempre comienza con ##.

Los procedimientos almacenados temporarios creados directamente en la TempDB son diferentes a los procedimientos almacenados locales y globales en lo siguiente:

Se pueden configurar permisos para ellos. Existen an despus que la conexin que los cre se terminan No son removidos hasta que el SQL Server no sea apagado.

Procedimientos almacenados extendidos Usan un programa externo, compilado como un DLL para expandir las capacidades de un procedimiento almacenado. La mayora de los procedimientos almacenados extendidos usan el prefijo xp_ como un convencin de nombre. Sin embargo, hay algunos procedimientos almacenados extendidos que comienzan con el prefijo sp_, y hay algunos procedimientos almacenados del sistema que no son procedimientos extendidos y usan el prefijo xp_. Por lo tanto, no se puede depender sobre convencin de nombres para identificar procedimientos almacenados del sistema y procedimientos almacenados extendidos. Ejemplos: Un procedimiento almacenado extendido que usa el prefijo sp_ SELECT OBJECTPROPERTY(object_id(sp_prepare), IsExtendedProc)

Este ejemplo retorna un valor de 1


USE Master Un procedimiento almacenado que no es extendido y usa el prefijo xp_ SELECT OBJECTPROPERTY(object_id(xp_logininfo), IsExtendedProc)

Este ejemplo retorna un valor de 0.


2. Tipos de procedimientos almacenados
a. Procedimiento sin parmetros. Como su nombre lo dice son procedimientos que no necesitan ningn parmetro extra para ser ejecutado
CREATE PROCEDURE spSumaSinParametros AS --Declaracion de variables DECLARE @Numero1 FLOAT, @Numero2 FLOAT, @Resultado FLOAT, @Operacion NVARCHAR(25) --Asignacion de valores iniciales SET @Numero1 = 5.55 SET @Numero2 = 15

--Operacion. --Nota: Se puede hacer uso de SELECT y/o SET para la asignacion de valores a las variables. SELECT @Resultado = ISNULL(@Numero1, 0) + ISNULL(@Numero2, 0) SET @Operacion = CAST(@Numero1 AS VARCHAR) + ' + ' + CAST(@Numero2 AS VARCHAR) + ' = ' + CAST(@Resultado AS VARCHAR) --Realizar un select con el resultado de la operacion. SELECT @Numero1 AS Numero1, @Numero2 AS Numero2, @Resultado AS Resultado, @Operacion AS Operacion GO

b. Procedimiento con parmetros de entrada. Como su nombre lo dice son procedimientos que no necesitan algn parmetro extra para ser ejecutado como una variable de entrada.
CREATE PROCEDURE spSumaConParametros @Numero2 FLOAT AS --Declaracion de variables DECLARE @Resultado FLOAT, @Operacion NVARCHAR(25) @Numero1 FLOAT,

--Operacion. --Nota: Se puede hacer uso de SELECT y/o SET para la asignacion de valores a las variables. SELECT @Resultado = ISNULL(@Numero1, 0) + ISNULL(@Numero2, 0) SET @Operacion = CAST(@Numero1 AS VARCHAR) + ' + ' + CAST(@Numero2 AS VARCHAR) + ' = ' + CAST(@Resultado AS VARCHAR) --Realizar un select con el resultado de la operacion. SELECT @Numero1 AS Numero1, @Numero2 AS Numero2, @Resultado AS Resultado, @Operacion AS Operacion GO

c. Procedimiento con parmetros de salida. Como su nombre lo dice son procedimientos que no necesitan algn parmetro extra para ser ejecutado conocida como variable de salida donde almacenar el resultado.
CREATE PROCEDURE spSumaConParametroDeSalida @Numero1 FLOAT, @Numero2 FLOAT, @Resultado FLOAT OUTPUT AS --Declaracion de variables DECLARE @Operacion NVARCHAR(25) --Operacion. --Nota: Se puede hacer uso de SELECT y/o SET para la asignacion de valores a las variables.

SELECT @Resultado = ISNULL(@Numero1, 0) + ISNULL(@Numero2, 0) SET @Operacion = CAST(@Numero1 AS VARCHAR) + ' + ' + CAST(@Numero2 AS VARCHAR) + ' = ' + CAST(@Resultado AS VARCHAR) --Realizar un select con el resultado de la operacion. SELECT @Numero1 AS Numero1, @Numero2 AS Numero2, @Operacion AS Operacion GO

3. Bibliografia 4. http://sanchez-soft.blogspot.com/2006/11/sql-crear-un-procedimiento-almacenado.html 5. http://www.sqlmax.com/centro/ModuloIV_1.asp?MX=

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