sql >> Base de Datos >  >> RDS >> Database

¿Cómo crear procedimientos almacenados en SQL?

Los procedimientos son los subprogramas que se pueden crear y guardar en la base de datos como objetos de la base de datos. Al igual que en otros idiomas, también puede crear y eliminar procedimientos en SQL. En este artículo, exploremos los procedimientos en SQL con sintaxis y ejemplos.

Los temas discutidos en el artículo son:

  • ¿Qué es un procedimiento en SQL?
  • Sintaxis del procedimiento SQL
  • Procedimiento de ejemplo en SQL
  • Ventajas de los procedimientos SQL

¿Qué es un procedimiento en SQL?

Un procedimiento en SQL (a menudo denominado procedimiento almacenado) es una unidad reutilizable que encapsula la lógica comercial específica de la aplicación. Un procedimiento SQL es un grupo de instrucciones y lógica SQL, compiladas y almacenadas juntas para realizar una tarea específica.

A continuación se enumeran las características clave de los procedimientos de SQL:

  • Fáciles de implementar porque usan un lenguaje muy simple de alto nivel y fuertemente tipado
  • Admite tres tipos de parámetros, a saber, parámetros de entrada, salida y entrada-salida.
  • Más confiable que los procedimientos externos equivalentes.
  • Los procedimientos SQL promueven la reutilización y el mantenimiento.
  • Admite un modelo de manejo de errores y condiciones simple pero poderoso.
  • Retorna un valor de estado a un procedimiento o lote de llamada para indicar éxito o falla y el motivo de la falla.

Ahora que sabe qué son los procedimientos y por qué son necesarios, analicemos la sintaxis y el ejemplo de procedimiento en SQL.

Sintaxis de procedimientos en SQL

Lo siguiente ilustra la sintaxis básica para crear un procedimiento en SQL:

CREAR [ O REEMPLAZAR] PROCEDIMIENTO nombre_procedimiento [(nombre_parámetro [IN | OUT | IN OUT] tipo [ ])]{IS | AS }BEGIN [declaration_section]executable_section //Instrucción SQL utilizada en el procedimiento almacenadoENDGO

Terminologías de sintaxis

Parámetro

Un parámetro es una variable que contiene un valor de cualquier tipo de datos SQL válido a través del cual el subprograma puede intercambiar los valores con el código principal. En otras palabras, los parámetros se utilizan para pasar valores al procedimiento. Hay 3 tipos diferentes de parámetros, que son los siguientes:

  • EN :Este es el parámetro predeterminado, que siempre recibe los valores del programa de llamada. Es una variable de solo lectura dentro de los subprogramas y su valor no se puede cambiar dentro del subprograma.
  • FUERA: Se utiliza para obtener resultados de los subprogramas.
  • ENTRADA SALIDA: Este parámetro se utiliza tanto para dar entrada como para obtener resultados de los subprogramas.

Otras terminologías

  • nombre-procedimiento especifica el nombre del procedimiento. Debe ser único.
  • La opción [OR REPLACE] permite la modificación de un procedimiento existente.
  • ES | AS Clause, establecen el contexto para ejecutar el procedimiento almacenado. La diferencia es que la palabra clave 'IS' se usa cuando el procedimiento está anidado en otros bloques y si el procedimiento es independiente, se usa 'AS'.
  • Code_Block declara las declaraciones de procedimiento que manejan todo el procesamiento dentro del procedimiento almacenado. El contenido de code_block depende de las reglas y el lenguaje de procedimiento utilizado por la base de datos.

Procedimiento en SQL:Ejemplos

Ejemplo 1

El siguiente ejemplo crea un procedimiento simple que muestra el mensaje de bienvenida en la pantalla cuando se ejecuta. Entonces, el procedimiento será:

CREAR O REEMPLAZAR EL PROCEDIMIENTO welcome_msg(para1_name IN VARCHAR2)ES BEGIN dbms_output.put_line(‘¡Hola mundo! '|| para1_name);FIN; //pre> 

Ejecutar el procedimiento almacenado. Un procedimiento independiente se puede llamar de dos maneras −

  • Uso de EJECUTAR palabra clave
  • Llamar el nombre del procedimiento desde un bloque SQL

El procedimiento anterior se puede llamar usando la palabra clave Ejecutar de la siguiente manera:

 EXEC welcome_msg (‘¡Bienvenido a Edureka!’);

Salida

¡Hola Mundo! Bienvenido a Edureka

Se ejecuta el procedimiento y se imprime el mensaje como “¡Hola mundo! Bienvenido a Edureka”.

Ejemplo 2

Supongamos que tiene una tabla con los detalles de los empleados, como EmployeId, Firstname, Lastname y DepartmentDetails.

Este ejemplo crea un procedimiento SQL que devolverá el nombre de un empleado cuando el EmployeId se proporciona como parámetro de entrada al procedimiento almacenado. Entonces, el procedimiento será:

Crear PROCEDIMIENTO GetStudentName (@employeeID INT, --Parámetro de entrada, ID de empleado del empleado@Nombredelempleado VARCHAR(50) OUT --Parámetro de salida, nombre del empleado del empleadoASBEGINSELECT @nombredelempleado=Nombre+' '+Apellido FROM Employee_Table WHERE EmployeId=@employeIDEND 

Pasos para ejecutar:

  • Declare @employeName como nvarchar(50)
  • EXEC GetStudentName 01, salida de @employeName
  • seleccione @NombreEmpleado

El procedimiento anterior sobre dar la identificación del empleado como entrada devuelve el nombre de ese empleado en particular. Supongamos que si tenemos un parámetro de salida, primero debemos declarar la variable para recopilar los valores de salida. Ahora veamos las ventajas del procedimiento en SQL.

Ventajas de los procedimientos en SQL

El objetivo principal de los procedimientos almacenados en SQL es ocultar las consultas SQL directas del código y mejorar el rendimiento de las operaciones de la base de datos, como seleccionar, actualizar y eliminar datos. Otras ventajas del procedimiento en SQL son:

  • Reduce la cantidad de información enviada al servidor de la base de datos. Puede convertirse en un beneficio más importante cuando el ancho de banda de la red es menor.
  • Habilita la reutilización del código
  • Mejora la seguridad ya que puede otorgar permiso al usuario para ejecutar el procedimiento almacenado en lugar de otorgar permiso en las tablas utilizadas en el procedimiento almacenado.
  • Admite llamadas de procedimientos anidados a otros procedimientos SQL o procedimientos implementados en otros lenguajes.

Para concluir, los procedimientos en SQL (procedimientos almacenados) no solo mejoran la posibilidad de reutilizar el código sino que también aumentan el rendimiento de la base de datos. ¿Cómo? Al reducir el tráfico de la red al reducir la cantidad de información enviada a través de la red. Con esto, hemos llegado al final de este artículo.

Si desea obtener más información sobre MySQL y conocer esta base de datos relacional de código abierto, consulte nuestra Capacitación para la certificación de MySQL DBA que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema.

¿Tiene alguna pregunta para nosotros? Menciónelo en la sección de comentarios de este 'Procedimientos en SQL; artículo y nos pondremos en contacto con usted.