• Flock of wintering Barnacle Goose(branta leucopsis)in wadden Sea,East Frisia,lower saxony,Germany

#ADNCLOUD

Innovación en la sociedad digital

Categorías

Procedimientos almacenados SQL Server: tipos y funcionalidad

procedimientos almacenados SQL
Tiempo de lectura: 6 minutos

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.

New Call-to-action

¿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.

¿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 SQL server

a) 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.

b) 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

c) 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).

d) 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.

Para más información sobre los procedimientos almacenados de SQL consulta los siguientes links oficiales de Microsoft:

New Call-to-action

Entradas relacionadas

Deja un comentario

No hay comentarios

Todavía no hay ningún comentario en esta entrada.