Mostrando entradas con la etiqueta PROCEDURE. Mostrar todas las entradas
Mostrando entradas con la etiqueta PROCEDURE. Mostrar todas las entradas

Procedimientos almacendados parametrizados

Los procedimientos almacenados pueden tener parámetros de entrada y de salida para comunicarse con el programa que los llama.

Sintaxis: MSDN

Ejemplo:
CREATE PROCEDURE BDs
(@COLLATION_NAME VARCHAR(50) = NULL,
@RET INT = 0 OUTPUT)
AS
IF @COLLATION_NAME IS NULL
BEGIN
SELECT * FROM sys.databases WHERE COLLATION_NAME IS NULL
SET @RET = (SELECT COUNT(*) FROM sys.databases WHERE COLLATION_NAME IS NULL)
END
ELSE
BEGIN
SELECT * FROM sys.databases WHERE COLLATION_NAME = @COLLATION_NAME
SET @RET = (SELECT COUNT(*) FROM sys.databases WHERE COLLATION_NAME = @COLLATION_NAME)
END
RETURN @RET + 1
GO

Se crea un procedimiento almacenado que acepta un parámetro para filtrar la lista de bases de datos por el collation y retorna en un segundo parametro la cantidad de bases de datos con ese collation, como ejemplo retorna la cantidad de bases de datos mas 1 como valor de retorno.

Procedimientos almacendados

Un procedimiento almacenado es una colección de instrucciones con nombre de sentencias T-Sql.
Ventajas:

  • Encapsula la funcionalidad de negocio y crea lógica de aplicación reutilizable.
  • Evita la exposición de la estructura de la BD a los usuarios.
  • Proporciona mecanismos de seguridad (acceso a tablas a las que no se tiene acceso real a traves de los procedimientos almacenados.)
  • Mejorar el rendimiento
  • Reducir tráfico en la red
  • Reducir vulneravilidad a ataques mediante instrucciones SQL incrustadas en los parámetros.

Creación de procedimientos almacenados.

Sintaxis: MSDN

Ejemplo:

CREATE PROCEDURE BDs

AS

SELECT * FROM sys.databases

GO

Modificación de procedimientos almacenados:

Sintaxis: MSDN

Ejemplo:

ALTER PROCEDURE BDs

AS

SELECT * FROM sys.databases ORDER BY name

GO

Ejecución de un procedimiento almacenado:

Sintaxis: MSDN

Ejemplo:

Exec BDs

Eliminacion de procedimientos almacendos:

Antes de borrar cualquier procedimiento almacenado es recomendable ejecutar el procedimiento almacenado de la BD master sp_depends pare resolver si existe algun procedimiento que dempenda de este:

EXEC sp_depends @objname = N'BDs'

Sintaxis: MSDN

Ejemplo:

DROP PROC BDs

Buscar este blog

Seguidores

Blogs amigos

Etiquetas