miércoles, 18 de enero de 2017

Implementación de procedimientos almacenados y funciones

Qué es un procedimiento almacenado 
  • Una colección con nombre de instrucciones Transact-SQL o código de Microsoft .NET Framework. 
  • Acepta parámetros de entrada y devuelve valores de parámetros de salida.
  • Devuelve un valor de estado para indicar el éxito o el error.
Crear en la base de datos actual utilizando la instrucción CREATE PROCEDURE








Directrices para crear procedimientos almacenados
  • Calificar nombres de objeto dentro del procedimiento
  • Crear un procedimiento almacenado para una tarea 
  • Crear, probar y solucionar problemas 
  • Evite utilizar el prefijo sp_ en los nombres de procedimientos almacenados Utilice una configuración de conexión coherente para todos los procedimientos almacenados
  • Reduzca al mínimo el uso de procedimientos almacenados temporales
Sintaxis para modificar y quitar procedimientos almacenados

ALTER PROCEDURE
 ALTER PROC Production.LongLeadProducts
 AS 
   SELECT Name, ProductNumber, DaysToManufacture 
   FROM Production.Product 
   WHERE DaysToManufacture >= 1 
   ORDER BY DaysToManufacture DESC, Name 
GO 

DROP PROCEDURE
DROP PROC Production.LongLeadProducts

Parámetros de entrada
  • Proporcione valores predeterminados apropiados 
  • Valide los valores de parámetros de entrada, incluyendo comprobaciones de valores nulos
Parámetros de salida
CREATE PROC HumanResources.AddDepartment 
 @Name nvarchar(50), @GroupName nvarchar(50), 
 @DeptID smallint OUTPUT 
AS
IF ((@Name = '') OR (@GroupName = ''))
RETURN -1
INSERT INTO HumanResources.Department (Name, GroupName) 
VALUES (@Name, @GroupName)
SET @DeptID = SCOPE_IDENTITY()
RETURN 0


DECLARE @dept int,@result int
EXEC @result = AddDepartment 'Refunds' , ' ', @dept OUTPUT
IF (@result = 0)
    SELECT @dept 
ELSE
    SELECT 'Error during insert' 


Usar EXECUTE para ejecutar procedimiento almacenado




Referencias Bibliográficas:
Coronel C., Morris S., Rob P. (2011). Bases de Datos Diseño, implementación y administración (Novena edición). México: Cengage Learning Editores. (Libro digital).

No hay comentarios.:

Publicar un comentario