Un procedimiento almacenado en SQL es un grupo de consultas SQL que se pueden guardar y reutilizar varias veces. Es muy útil ya que reduce la necesidad de reescribir consultas SQL. Mejora la eficiencia, la reutilización y la seguridad en la gestión de bases de datos.
Los usuarios también pueden pasar parámetros a procedimientos almacenados para que el procedimiento almacenado pueda actuar sobre los valores de los parámetros pasados.
Los procedimientos almacenados se crean para realizar uno o más DML operaciones en la Base de Datos. No es más que un grupo de declaraciones SQL que acepta alguna entrada en forma de parámetros, realiza alguna tarea y puede devolver o no un valor.
Sintaxis
Dos sintaxis importantes para utilizar procedimientos almacenados en SQL son:
tutorial de java
Sintaxis para crear un procedimiento almacenado
CREAR PROCEDIMIENTO nombre_procedimiento
(parámetro1 tipo_datos, parámetro2 tipo_datos,…)
COMO
COMENZAR
— Sentencias SQL a ejecutar
FIN
Sintaxis para ejecutar el procedimiento almacenado
EXEC nombre_procedimiento valor_parámetro1, valor_parámetro2, ..
Parámetro
La parte más importante son los parámetros. Los parámetros se utilizan para pasar valores al Procedimiento. Existen diferentes tipos de parámetros, que son los siguientes:
- COMENZAR: Esto es lo que se ejecuta directamente o podemos decir que es una parte ejecutable.
- FIN: Hasta este punto, el código se ejecutará.
Ejemplo de procedimiento almacenado SQL
Veamos un ejemplo de procedimiento almacenado en SQL para entenderlo mejor.
Imagine una base de datos llamada SampleDB, una tabla llamada Clientes con algunos datos de muestra y un procedimiento almacenado llamado GetCustomersByCountry.
El procedimiento almacenado toma el parámetro País y devuelve una lista de clientes de la tabla Clientes que coincide con el país especificado. Finalmente, se ejecuta el procedimiento almacenado con el parámetro Sri Lanka para recuperar la lista de clientes de Sri Lanka.
Consulta:
-- Create a new database named 'SampleDB' CREATE DATABASE SampleDB; -- Switch to the new database USE SampleDB; -- Create a new table named 'Customers' CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50), ContactName VARCHAR(50), Country VARCHAR(50) ); -- Insert some sample data into the Customers table INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country) VALUES (1, 'Shubham', 'Thakur', 'India'), (2, 'Aman ', 'Chopra', 'Australia'), (3, 'Naveen', 'Tulasi', 'Sri lanka'), (4, 'Aditya', 'Arpan', 'Austria'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain'); -- Create a stored procedure named 'GetCustomersByCountry' CREATE PROCEDURE GetCustomersByCountry @Country VARCHAR(50) AS BEGIN SELECT CustomerName, ContactName FROM Customers WHERE Country = @Country; END; -- Execute the stored procedure with parameter 'Sri lanka' EXEC GetCustomersByCountry @Country = 'Sri lanka';>
Nota: Deberá asegurarse de que la cuenta de usuario tenga los privilegios necesarios para crear una base de datos. Puede intentar iniciar sesión como un usuario diferente con privilegios administrativos o comunicarse con el administrador de la base de datos para otorgar los privilegios necesarios a su cuenta de usuario. Si está utilizando un servicio de base de datos basado en la nube, asegúrese de haber configurado correctamente la cuenta de usuario y sus permisos.
descargar vlc youtube
Producción:
Nombre del cliente | Nombre de contacto |
---|---|
naveen | Tulasi |
Puntos importantes sobre los procedimientos almacenados de SQL
- Un procedimiento almacenado es un código SQL preparado que puede guardar, de modo que el código pueda reutilizarse una y otra vez.
- Los procedimientos almacenados permiten que el código que se utiliza repetidamente se guarde en la base de datos y se ejecute desde allí, en lugar de hacerlo desde el cliente. Esto proporciona un enfoque más modular para el diseño de bases de datos.
- Dado que los procedimientos almacenados se compilan y almacenan en la base de datos, son muy eficientes. SQL Server compila cada procedimiento almacenado una vez y luego reutiliza el plan de ejecución. Esto conduce a enormes mejoras en el rendimiento cuando se llaman repetidamente a procedimientos almacenados.
- Los procedimientos almacenados brindan mayor seguridad a sus datos. Los usuarios pueden ejecutar un procedimiento almacenado sin necesidad de ejecutar ninguna de las declaraciones directamente. Por lo tanto, a un usuario se le puede conceder permiso para ejecutar un procedimiento almacenado sin tener ningún permiso sobre las tablas subyacentes.
- Los procedimientos almacenados pueden reducir el tráfico y la latencia de la red, mejorando el rendimiento de las aplicaciones. Una sola llamada a un procedimiento almacenado puede ejecutar muchas declaraciones.
- Los procedimientos almacenados tienen un mejor soporte para el manejo de errores.
- Los procedimientos almacenados se pueden utilizar para proporcionar funciones avanzadas de bases de datos, como modificar datos en tablas y encapsular estos cambios dentro de las transacciones de la base de datos.