Tutorial SQL

INICIO SQL Introducción a SQL Sintaxis SQL Seleccionar SQL SQL Seleccionar Distinto SQL donde SQL y, o no Orden SQL por Insertar SQL en Valores nulos de SQL Actualización SQL Eliminar SQL SQL Seleccionar parte superior SQL mínimo y máximo Recuento de SQL, Promedio, Suma SQL como Comodines de SQL SQL en SQL entre Alias ​​SQL Uniones SQL Combinación interna de SQL Unión izquierda de SQL Unión derecha de SQL Unión completa de SQL Unión automática de SQL Unión SQL Grupo SQL por SQL teniendo SQL existe SQL Cualquiera, Todo SQL Seleccionar en Insertar SQL en Seleccionar Caso SQL Funciones nulas de SQL Procedimientos almacenados de SQL Comentarios SQL Operadores SQL

Base de datos SQL

SQL Crear base de datos Base de datos de caída de SQL Base de datos de copia de seguridad de SQL Crear tabla SQL Tabla desplegable de SQL Tabla de modificación de SQL Restricciones SQL SQL no nulo SQL único Clave principal de SQL Clave foránea de SQL Comprobación SQL Valor predeterminado de SQL Índice SQL Incremento automático de SQL Fechas SQL Vistas SQL Inyección SQL Alojamiento SQL Tipos de datos SQL

Referencias SQL

Palabras clave de SQL Funciones MySQL Funciones del servidor SQL Funciones de MS Access Referencia rápida de SQL

Ejemplos SQL

Ejemplos SQL Cuestionario de SQL Ejercicios SQL Certificado SQL

Procedimientos almacenados de SQL para SQL Server


¿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 simplemente 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 de procedimiento almacenado

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Ejecutar un procedimiento almacenado

EXEC procedure_name;

Base de datos de demostración

A continuación se muestra una selección de la tabla "Clientes" en la base de datos de ejemplo de Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Ejemplo de procedimiento almacenado

La siguiente instrucción SQL crea un procedimiento almacenado denominado "SelectAllCustomers" que selecciona todos los registros de la tabla "Customers":

Ejemplo

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

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

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

Ejecute el procedimiento almacenado anterior de la siguiente manera:

Ejemplo

EXEC SelectAllCustomers @City = 'London';

Procedimiento almacenado con múltiples 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 particular con un Código Postal particular de la tabla "Clientes":

Ejemplo

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Ejecute el procedimiento almacenado anterior de la siguiente manera:

Ejemplo

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';