Con SQL Stored Pro­ce­du­res puedes almacenar los pro­ce­di­mie­n­tos y consultas que más necesitas como bloques de código completos, para luego poder eje­cu­tar­los rá­pi­da­me­n­te y de manera eficiente. Así, no tienes que volver a formular una in­s­tru­c­ción SQL, solo tienes que abrir el pro­ce­di­mie­n­to al­ma­ce­na­do.

¿Qué son los SQL Stored Pro­ce­du­res?

Al usar el lenguaje de pro­gra­ma­ción y bases de datos SQL hay in­s­tru­c­cio­nes que se usan co­n­s­ta­n­te­me­n­te. Pero tener que in­tro­du­cir de nuevo sta­te­me­nts complejos lleva tiempo y puede dar pie a errores. Un SQL Stored Procedure facilita el trabajo con consultas regulares o complejas. Permite guardar fá­ci­l­me­n­te bloques de código usados con fre­cue­n­cia, acceder a ellos cuando sea necesario y así au­to­ma­ti­zar procesos re­cu­rre­n­tes y mejorar co­n­si­de­ra­ble­me­n­te la efi­cie­n­cia de la gestión de tus datos.

La ventaja de los pro­ce­di­mie­n­tos al­ma­ce­na­dos es que en principio pueden guardar cualquier tipo de in­s­tru­c­ción y statement SQL co­m­bi­na­n­do funciones, comandos SQL y ope­ra­do­res SQL y diversos pa­rá­me­tros, así como ejecutar prá­c­ti­ca­me­n­te cualquier tipo de tarea. Se crea el Stored Procedure para la acción deseada y accede a ella añadiendo el nombre del PROCEDURE en una in­s­tru­c­ción típica como (SQL UPDATE](t3://page?uid=32945) o SQL SELECT. Entre las funciones que pueden au­to­ma­ti­zar­se están las ac­tua­li­za­cio­nes, las consultas, el borrado de datos o la salida de valores deseados.

Consejo

Aprende las bases de SQL: nuestra guía de SQL con ejemplos te da una visión general de las funciones y normas más im­po­r­ta­n­tes.

Sintaxis de Stored Pro­ce­du­res en SQL

La sintaxis concreta del pro­ce­di­mie­n­to al­ma­ce­na­do depende del bloque de código que quieras guardar; en función de eso será más o menos compleja.

Crear un Stored Procedure sencillo:

CREATE PROCEDURE Procedure_Name (Tipo de datos de Parámetro1, Tipo de datos de Parámetro2, …) 
AS 
BEGIN 
(Bloque de código que quieres guardar) 
END;
sql

Según el sistema de gestión de bases de datos, la sintaxis puede ser también la siguiente:

CREATE PROCEDURE Procedure_Name (Tipo de datos de Parámetro1, Tipo de datos de Parámetro2, …) 
AS 
(Bloque de código que quieres guardar) 
GO;
sql

Hace usos de estos pa­rá­me­tros:

  • CREATE PROCEDURE: Con esta palabra clave defines el bloque de código que quieres almacenar. Usa el nombre del pro­ce­di­mie­n­to para eje­cu­tar­lo o añadirlo a otra in­s­tru­c­ción. Los pa­rá­me­tros pueden contener diversos datos ne­ce­sa­rios, incluido el tipo de datos.
  • AS: Determina el inicio del bloque de código que quieres almacenar como Stored Procedure.
  • BEGIN + END: Marca el inicio y el final del bloque de código que quieres guardar.
  • GO: Cumple la misma función que END; marca el final del bloque de código.

Ejecutar Stored Procedure:

EXEC Procedure_Name;
sql

Ventajas e in­co­n­ve­nie­n­tes de los Stored Pro­ce­du­res

SQL Stored Pro­ce­du­res te permite en principio guardar todas las in­s­tru­c­cio­nes de SQL posibles para luego acceder a ellas como pro­ce­di­mie­n­to. Estas son algunas de las ventajas de Stored Pro­ce­du­res:

  • Re­uti­li­zar código: Hay comandos y funciones de SQL que se utilizan una y otra vez en la base de datos. Tanto si quieres guardar in­s­tru­c­cio­nes complejas como simples, puedes re­uti­li­zar­las sin tener que in­tro­du­cir de nuevo el código co­rre­s­po­n­die­n­te.
  • Facilitar el trabajo con las bases de datos: Los pro­ce­di­mie­n­tos al­ma­ce­na­dos permiten sobre todo dividir los procesos extensos de tareas complejas en múltiples pro­ce­di­mie­n­tos. Trabajas con los bloques de código como si fueran módulos que amontas en la in­s­tru­c­ción actual.
  • Mejor efi­cie­n­cia y re­n­di­mie­n­to: Con bloques de código al­ma­ce­na­dos es más fácil crear in­s­tru­c­cio­nes de SQL y mejorar el re­n­di­mie­n­to de bases de datos extensas.
  • Más seguridad: Al asignar au­to­ri­za­cio­nes a los pro­ce­di­mie­n­tos al­ma­ce­na­dos, te aseguras de que los datos sensibles y críticos para la empresa solo pueden re­cu­pe­rar­se o pro­ce­sar­se con los derechos de acceso ne­ce­sa­rios.

He a co­n­ti­nua­ción algunos usos prácticos de diversas ramas:

  • Au­to­ma­ti­zar los procesos de pedidos y ac­tua­li­zar los datos de clientes
  • Su­pe­r­vi­sar y comprobar las tra­n­sac­cio­nes fi­na­n­cie­ras so­s­pe­cho­sas o calcular los tipos de interés de los préstamos
  • Crear ofertas basándote en datos de clientes, co­m­po­r­ta­mie­n­tos de compras, volumen de pedidos o región au­to­má­ti­ca­me­n­te
  • Calcular las co­mi­sio­nes de los tra­ba­ja­do­res en función de su re­n­di­mie­n­to
  • Crear informes fi­na­n­cie­ros y co­n­ta­bi­li­zar tra­n­sac­cio­nes
  • Seguir, su­pe­r­vi­sar y si­n­cro­ni­zar los in­ve­n­ta­rios de exi­s­te­n­cias y entradas de pedidos
Base de datos en la nube
Hosting SQL Server
  • Toda la seguridad de nuestras versiones de MSSQL
  • El más alto re­n­di­mie­n­to gracias a la te­c­no­lo­gía SSD
  • So­lu­cio­nes Linux y Windows

Ejemplos prácticos de SQL Stored Pro­ce­du­res

Para entender el fu­n­cio­na­mie­n­to de Stored Pro­ce­du­res, te mostramos dos ejemplos prácticos.

Consultar todos los clientes

Para ver todos los datos de cliente de la tabla “Clientes”, procede de la siguiente manera:

CREATE PROCEDURE SelectTodosLosClientes 
AS 
BEGIN 
SELECT * FROM Clientes 
END;
sql

Se­le­c­cio­nar pedidos de una ciudad

Si quieres consultar todos los pedidos de una ciudad de­te­r­mi­na­da de la tabla “Pedidos”, continúa así:

CREATE PROCEDURE SelectTodosLosPedidosDeChicago 
AS 
BEGIN 
SELECT * FROM Pedidos WHERE Ciudad = 'Chicago' 
END;
sql

Al­te­r­na­ti­vas a SQL Stored Pro­ce­du­res

SQL ofrece varias al­te­r­na­ti­vas con el mismo fu­n­cio­na­mie­n­to que Stored Pro­ce­du­res. Algunas son:

  • UDF (User Defined Function): Con las SQL UDFs puedes usar la palabra clave CREATE FUNCTION para crear tus propias funciones y al­ma­ce­nar­las como bloques de código completos. Así puedes integrar consultas complejas como función pre­de­fi­ni­da en otra in­s­tru­c­ción SQL sin tener que in­tro­du­cir de nuevo el código completo.
  • VIEWS: Con VIEWS puedes crear tablas virtuales vacías con las que analizar conjuntos de datos según pa­rá­me­tros pre­de­fi­ni­dos. Puedes añadir VIEWS como UDF o Stored Pro­ce­du­res como elemento en una in­s­tru­c­ción SQL.
Ir al menú principal