Sei sulla pagina 1di 3

Procedimientos almacenados SQL Server

Introducción:
Los procedimientos almacenados de SQL se pueden usar en SQL
Server, Azure SQL Database,  Azure Synapse Analytics (SQL DW) y
en Almacenamiento de datos paralelos. Para crear un procedimiento
almacenado en Transact-SQL se puede usar el SQL Server Management
Studio o el editor de consultas de Transact-SQL.
Veamos a continuación el concepto, las funcionalidades y los tipos de
procedimientos almacenados.

A. ¿Qué son los procedimientos almacenados SQL?


Los procedimientos almacenados de SQL pueden ser instrucciones
de tipo Transact-SQL o referencias a un método de Common
Runtime Language (CLR) de .NET. Dichas instrucciones se
encuentran almacenadas de forma física con un nombre dentro de
la base de datos.

B. ¿Para qué sirven los procedimientos almacenados de SQL?


Los procedimientos almacenados de SQL sirven para:

 Recibir parámetros de entrada y devolver valores de salida


como resultado a un programa que realice una llamada.
 Ejecutar instrucciones de programación que ejecutan acciones
dentro de la base de datos.
 Devolver valores de estados que permiten saber si la operación
de un programa se ha realizado de forma exitosa o no.

Tipos de procedimientos almacenados:

Existen tres tipos de procedimientos almacenados:

1. Procedimientos almacenados definidos por el usuario


2. Procedimientos almacenados temporales
3. Procedimientos almacenados del sistema de SQL
4. Procedimientos almacenados extendidos definidos por el usuario

 Procedimientos almacenados definidos por el usuario:


Los procedimientos almacenados definidos por el usuario se
establecen en las bases de datos definidas por el usuario o en las
bases de datos del sistema (Master, Model, MSDB…), a excepción
de en la base de datos Resource.
Los procedimientos almacenados definidos por el usuario se crean
en Transact-SQL o como una referencia a un método CLR de .NET.

 Procedimientos almacenados temporales


Los procedimientos almacenados temporales son un tipo de
procedimientos definidos por el usuario, pero que se almacenan
en la base de datos TempDB.
Hay dos tipos de procedimientos almacenados temporales:
Locales, su primer caracter es “#”.
Globales, su primer caracter es “##”.
Ambos tipos se diferencian entre sí por tres aspectos:
Los nombres
La visibilidad
La disponibilidad

 Procedimientos almacenados del sistema de SQL

Los procedimientos almacenados del sistema de SQL pertenecen a


SQL Server y sus primeros caracteres son “sp_”.

Estos procedimientos se encuentran almacenados de manera física


en la base de datos interna y de manera oculta en Resource, y se
muestran de forma lógica en el sys.schemas (esquema sys). Por
otro lado, la base de datos MSDB también tiene procedimientos
almacenados, pero en el esquema dbo.

Si deseas acceder a la lista completa de procedimientos


almacenados del sistema de SQL, consulta Procedimientos
almacenados del sistema (Transact-SQL).

 Procedimientos almacenados extendidos definidos por el


usuario

Los procedimientos almacenados extendidos definidos por el


usuario son DLL que una instancia de SQL Server es capaz ejecutar
de forma dinámica. Se consideran “extendidos” debido a que el
usuario puede crear rutinas externas por su propia cuenta en un
lenguaje de programación.

Es importante tener en cuenta que los procedimientos


almacenados extendidos dejarán de estar disponibles en la
próxima versión de SQL Server. Por lo tanto, se recomienda desde
ahora crear procedimientos almacenados CLR para
procedimientos extendidos.