¿Qué es el procedimiento en SQL?

Los desarrolladores pueden aprovechar el poder de SQL con declaraciones de procedimiento incrustadas dentro de Pl / SQL, ya que Pl / SQL es un lenguaje estructurado en bloques. Un procedimiento almacenado no es más que una colección de declaraciones SQL declarativas. Podemos pensar en un procedimiento como una función o un método. Se pueden utilizar disparadores, otros procedimientos o aplicaciones en Java, PHP, etc. para invocar un procedimiento. Las instrucciones de bloque se pasan al motor de Oracle de una vez para que podamos tener una velocidad de procesamiento alta y disminuir el tráfico.

Un procedimiento almacenado es como un bloque de código que podemos guardar y reutilizar una y otra vez. Si tenemos una consulta SQL que estamos usando varias veces, entonces, en lugar de reescribirla nuevamente, podemos guardarla como un procedimiento almacenado, y luego solo tenemos que llamarla y ejecutarla. También podemos pasar los parámetros a un procedimiento almacenado, por lo que podemos tener una salida basada en el valor del parámetro o los valores pasados.

¿Qué es el SQL?

El lenguaje de consulta estructurado (SQL) a veces se pronuncia como el carácter individual "S-QL" o "see-Quel". Se utiliza para consultar, manipular o actualizar datos en la base de datos relacional. Se utiliza para insertar, actualizar o eliminar registros en una base de datos. Una de las principales funciones de SQL es mantener una base de datos.

La sintaxis de la consulta SQL para recuperar todos los registros es la siguiente:

seleccione * de nombre_tabla

Procedimientos almacenados en SQL

¿Qué es un procedimiento almacenado? Un procedimiento almacenado es una colección de sentencias de lenguaje de consulta estructurado (SQL) con un nombre asignado. Estos procedimientos almacenados se almacenan en un sistema de gestión de bases de datos relacionales (RDBMS). Por lo tanto, es posible realizar múltiples llamadas a los procedimientos reduciendo múltiples ejecuciones y resultando en un menor tiempo de ejecución. Los datos pueden modificarse mediante procedimientos y la principal ventaja es que no está vinculada a una aplicación en particular.

Los procedimientos almacenados pueden aceptar parámetros como entrada y pueden devolver múltiples valores como parámetro de salida. En SQL Server, los procedimientos almacenados realizan operaciones en la base de datos y pueden devolver un valor de estado a una aplicación o un procedimiento de llamada por lotes. Los procedimientos definidos por el usuario se crean utilizando la base de datos definida por el usuario, con la excepción de que tenemos una base de datos de solo lectura. Para eso, necesitamos desarrollarlo en Transact SQL (T-SQL). Tempdb es donde se almacenan todos los procedimientos temporales. Hay dos tipos de procedimientos almacenados que tenemos

  1. Procedimientos locales
  2. Procedimientos globales

Los procedimientos locales son los que solo son visibles para el usuario que los usa en la conexión, mientras que los procedimientos globales son visibles para cualquiera de los usuarios en la misma conexión.

Estructura de crear el procedimiento

Aquí, propietario significa el nombre de la base de datos y para pasar el parámetro necesitamos agregar el símbolo '@'.

CREATE PROCEDURE .
AS
Execute a Stored Procedure
Exec is the command for the execution of the procedure.
EXEC Procedure_name

Comparación entre procedimiento almacenado y funciones

El procedimiento almacenado y las funciones se pueden utilizar para lograr la misma funcionalidad. Podemos personalizar tanto los procedimientos como las funciones. La diferencia entre ellas es que las funciones están diseñadas para enviar su salida a Transact SQL y los procedimientos almacenados están diseñados para devolver la salida a una consulta, así como también pueden devolver la salida a T-SQL. Las aplicaciones pueden tener una entrada de los procedimientos almacenados, mientras que las funciones definidas por el usuario pueden devolver variables de tabla y no tienen el privilegio de cambiar la configuración del entorno ni el entorno del sistema operativo.

Empresa de base de datos

EmpresaCategoríaArticulo
Tarlecomestiblesgalletas
Tarlecomestiblespapas fritas
Lakmeproductos cosméticoslápiz labial
Faldatienda de comestiblesSemillas de lino
Faldacomestiblesgalletas
Faldatienda de comestiblespetróleo
viejoproductos cosméticosEsmalte de uñas
viejoproductos cosméticosCepillo para el pelo

Ejemplo de procedimiento almacenado

La siguiente instrucción SQL crea un procedimiento almacenado que selecciona la compañía

PROCEDIMIENTO DE CREACIÓN SelectAllExample

COMO

SELECCIONAR * DE la compañía IR;

Ejecute el procedimiento almacenado anterior de la siguiente manera:

Ejecutando el procedimiento almacenado anteriormente, podemos usar el siguiente comando:

EXEC SelectAllExample;

Ejemplo de procedimiento almacenado con un parámetro

La siguiente instrucción SQL crea un procedimiento almacenado con un único parámetro a pasar que selecciona una compañía con un elemento como parámetro

PROCEDIMIENTO DE CREACIÓN SelectAllExample @item nvarchar (30)

COMO

SELECCIONE * DE la compañía DONDE item = @item GO;

Ejecute el procedimiento almacenado anterior de la siguiente manera:

Para ejecutar el procedimiento almacenado anteriormente con un parámetro, podemos usar el siguiente comando: EXEC SelectAllExample item = "cookies";

Ejemplo de procedimiento almacenado con múltiples parámetros

La siguiente instrucción SQL crea un procedimiento almacenado con múltiples parámetros que seleccionan la compañía con el artículo y la categoría como parámetro

PROCEDIMIENTO DE CREACIÓN SelectAllExample @item nvarchar (30), @ category nvarchar (10)

COMO SELECCIONAR * DE la compañía DONDE elemento = @ elemento Y categoría = @ categoría IR;

Ejecute el procedimiento almacenado anterior de la siguiente manera:

Para ejecutar el procedimiento almacenado anteriormente con múltiples parámetros, podemos usar el siguiente comando, necesitamos pasar los múltiples parámetros con comas separadas: EXEC SelectAllExample item = "cookies", category = "comestibles";

Ventajas del procedimiento en SQL

  • La mejora de la aplicación se puede lograr mediante procedimientos. Si se llama a un procedimiento varias veces en una sola aplicación, se utiliza la versión compilada del procedimiento.
  • El tráfico entre la base de datos y la aplicación se puede reducir ya que las grandes declaraciones ya se introducen en la base de datos y no tenemos que enviarla una y otra vez.
  • El uso de procedimientos de reutilización de código se puede lograr, de forma similar a las funciones y métodos de trabajo en Java y otros lenguajes de programación.

Desventajas de procedimiento en SQL

  • Los procedimientos almacenados consumen mucha memoria. Es deber del administrador de la base de datos decidir el límite superior de cuántos procedimientos almacenados son factibles para una aplicación en particular.
  • Los procedimientos almacenados no se pueden depurar con MySQL.

Conclusión: ¿Qué es el procedimiento en SQL?

  • Las declaraciones simples no seleccionadas, incluidas las declaraciones DML como Insertar y eliminar, también las declaraciones DDL como Drop and Create se pueden incluir en los programas almacenados.
  • El consumo de memoria es mayor, pero la tasa de búsqueda se puede reducir y la reutilización del código es beneficiosa.
  • Los procedimientos almacenados se pueden implementar con o sin variables y se pueden ejecutar pasando los parámetros si es necesario.

Artículos recomendados

Esta ha sido una guía de Qué es el Procedimiento en SQL. Aquí hemos discutido la estructura, ejemplos, ventajas y desventajas del procedimiento en SQL. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. ¿Qué es el servidor SQL?
  2. ¿Qué es la base de datos MySQL?
  3. MySQL OpenSource
  4. ¿Qué es SQL?