¿Qué es un procedimiento almacenado?
Un procedimiento almacenado es un código SQL preparado que puede guardar, por lo que el código se puede reutilizar una y otra vez.
Entonces, si tiene una consulta SQL que escribe una y otra vez, guárdela como un procedimiento almacenado y luego llámela para ejecutarla.
También puede pasar parámetros a un procedimiento almacenado, de modo que el procedimiento almacenado pueda actuar en función de los valores de parámetro que se pasan.
Sintaxis del procedimiento almacenado
CREAR PROCEDIMIENTO nombre_procedimiento
COMO
sql_statement
IR;
Ejecutar un procedimiento almacenado
Base de datos de demostración
A continuación se muestra una selección de la tabla «Clientes» en la base de datos de muestra de Northwind:
Identificación del cliente | Nombre del cliente | Nombre de contacto | Dirección | Ciudad | Código postal | País |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | María Anders | Obere Str. 57 | Berlina | 12209 | Alemania |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México DF | 05021 | México |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México DF | 05023 | México |
4 | Alrededor del Cuerno | Thomas Hardy | 120 Hannover Sq. | Londres | WA1 1DP | Reino Unido |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | Vuela-Salto-958 22 | Suecia |
Ejemplo de procedimiento almacenado
La siguiente instrucción SQL crea un procedimiento almacenado llamado «SelectAllCustomers» que selecciona todos los registros de la tabla «Clientes»:
Ejemplo
CREAR PROCEDIMIENTO Seleccionar todos los clientes
COMO
SELECCIONAR * DE Clientes
IR;
Ejecute el procedimiento almacenado anterior de la siguiente manera:
Ejemplo
EXEC SelectAllCustomers;
Procedimiento almacenado con un parámetro
La siguiente instrucción SQL crea un procedimiento almacenado que selecciona Clientes de una Ciudad en particular de la tabla «Clientes»:
Ejemplo
CREAR PROCEDIMIENTO SelectAllCustomers @City nvarchar (30)
COMO
SELECCIONAR * DE Clientes DONDE Ciudad = @Ciudad
IR;
Ejecute el procedimiento almacenado anterior de la siguiente manera:
Ejemplo
EXEC SelectAllCustomers @City = ‘Londres’;
Procedimiento almacenado con varios parámetros
Configurar múltiples parámetros es muy fácil. Simplemente enumere cada parámetro y el tipo de datos separados por una coma como se muestra a continuación.
La siguiente instrucción SQL crea un procedimiento almacenado que selecciona Clientes de una Ciudad en particular con un Código Postal particular de la tabla «Clientes»:
Ejemplo
CREAR PROCEDIMIENTO SelectAllCustomers @City nvarchar (30), @PostalCode nvarchar (10)
COMO
SELECCIONE * DE Clientes DONDE City = @City Y PostalCode = @PostalCode
IR;
Ejecute el procedimiento almacenado anterior de la siguiente manera:
Ejemplo
EXEC SelectAllCustomers @City = ‘Londres’, @ PostalCode = «WA1 1DP»;