Procedimientos almacenados

Anuncio
JUNE 15, 2021 - 18H
Meeting with Company A
JULY 11, 2021 - 11H
Meeting with Company A
JUNE 15, 2021 - 15H
Meeting with Company A
AUGUST 8, 2021 - 16H
Meeting with Company A
JUNE 15, 2021 - 15H
// JUNIO
Meeting with
Company2021
A
RIL 15, 2021 - 15H
ting with Company A
Meeting with Company A
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE ACAPULCO
TEMA:
PROCEDIMIENTOS ALMACENADOS
JUNE 15, 2021 - 18H
ALUMNO: ADÁN ALDAHIR ALCARAZMeeting
JACOBO
with Company A
JUNE 15, 2021 - 15H
No. De control: 18320793
Meeting with Company A
JUNE 15, 2021 - 15H
Meeting with Company A
MARCH 22, 2021 - 15H
// ¿Que es un procedimiento almacenado?
Un procedimiento almacenado MySQL no es más que
una porción de código que puedes guardar y reutilizar.
Es útil cuando repites la misma tarea repetidas veces,
siendo un buen método para encapsular el código. Al
igual que ocurre con las funciones, también puede
aceptar datos como parámetros, de modo que actúa en
base a éstos.
Para poder crear un procedimiento almacenado es
necesario que tengas permisos INSERT y DELETE sobre
la base de datos
// Crear procedimientos almacenados MySQL
Los procedimientos almacenados se implementan desde la
versión 5.0 de MySQL y se puede crear en casi todas las
bases de datos, como Oracle, MySQL Server y Postgress
SQL. Para crear y gestionar los procedimientos almacenados
MySQL existe una serie de comandos dedicados:
ALTER
CREATE
PROCEDURE
PROCEDURE
Con esta sentencia
Nos permite crear
podemos modificar los
procedimientos
procedimientos
almacenados MySQL para
almacenados MySQL.
su posterior ejecución.
01
02
Crear procedimientos almacenados MySQL
SINTAXIS
DROP
Nos permite eliminar los
PROCEDURE procedimientos almacenados MySQL.
03
Permite crear un delimitador
para las consultas SQL.
La sintaxis de un
procedimiento
almacenado es la
siguiente:
DELIMETER
04
SINTAXIS
Para ejecutar un
procedimiento
almacenado
lo
invocamos así:
En la versión de SQL
de Oracle también
podemos invocar al
procedimiento así.
Parámetros
Los parámetros son variables que se envían y reciben de
los programas a los que se llaman.
Se definen en la cláusula CREATE de creación de los
procedimientos de la siguiente forma:
Los parámetros de los procedimientos almacenados de
MySQL pueden ser de tres tipos:
IN
OUT
INOUT
Parámetros.
IN
IN
Es el tipo de parámetro que se usa por defecto. La
aplicación o código que invoque al procedimiento
tendrá que pasar un argumento para este parámetro.
El procedimiento trabajará con una copia de su valor,
teniendo el parámetro su valor original al terminar la
ejecución del procedimiento.
El valor de este parámetros pude ser cambiado en el
procedimiento, y además su valor modificado será
enviado de vuelta al código o programa que invoca el
procedimiento.
OUT
// PARÁMETROS
Es una mezcla de los dos conceptos anteriores. La aplicación o
código que invoca al procedimiento puede pasarle un valor a
éste, devolviendo el valor modificado al terminar la ejecución.
INOUT
//Configuración de la base de datos
A modo de ejemplo, veremos como configurar una base de
datos sobre la cual crearemos luego un procedimiento
almacenado. Usaremos la línea de comandos, pero también se
puede crear una base de datos MySQL mediante otros
métodos.
Conéctate
a
MySQL
con
este
comando,
reemplazando usuario por tu nombre de usuario.
Vamos a ver como crear una base
de datos de nombre base_ejemplo.
Para ello seguiremos estos pasos:
1.- Usa la sentencia create para crear la base de datos:
2.- Ahora usa el siguiente comando para seleccionar la base de
datos:
Si se usa phpMyAdmin, sencillamente se debe hacer clic en el
nombre de la base de datos, que en este caso
es base_ejemplo.
Ahora crea una tabla en la base de datos a la que llamaremos
productos. Para hacerlo, ejecuta el siguiente comando:
Ahora vamos a insertar
algunos datos de prueba en
la tabla productos:
Ya tenemos la base de datos
creada. Ahora vamos a crear
un procedimiento almacenado.
INSERT INTO productos (nombre, estado, precio) VALUES
('Producto A','disponible', 8), ('Producto B',
'disponible', 1.5),('Producto C', 'agotado', 80);
Cómo crear un
Al definir los procedimientos, tendremos que usar procedimiento
delimitadores para indicar a MySQL que se trata de un almacenado
bloque independiente. DELIMITER $$ frena la ejecución
de MySQL, que se retomará de nuevo en la
sentencia DELIMITER del final.
Procedimiento almacenado con parámetros IN
1.-Vamos a obtener los productos que tienen un determinado estado.
Como se ve a continuación.
DELIMITER $$ CREATE PROCEDURE
obtenerProductosPorEstado(IN nombre_estado
VARCHAR(255))
BEGIN
SELECT * FROM productos WHERE estado = nombre_estado;
END$$
DELIMITER
2.- El nombre del estado está
contenido
en
el
parámetro nombre_estado que
hemos
definido
como
IN.
Suponiendo que quieras obtener los
productos con estado disponible,
tendrías
que
invocar
al
procedimiento de este modo
3.- Resultado:
Procedimiento almacenado con parámetros OUT
1.-Vamos a obtener el número de productos según su estado.
3. Resultado:
2. Al igual que antes, pasamos el estado como nombre_estado,
definido como IN. También definimos numero como parámetro OUT.
Suponiendo que quieras obtener el número de productos con estado
disponible, debes llamar al procedimiento de este modo:
3.- Para obtener el número de productos
agotados, debemos invocar al procedimiento
de este modo:
Resultado:
Procedimiento almacenado con parámetros INOUT
1.-Se creara un procedimiento que
incremente una variable llamada
beneficio cuando se vende un
producto.
2.-En el procedimiento pasamos el
parámetro beneficio como INOUT
para que mantenga su valor tras la
ejecución del procedimiento
También definimos el parámetro id_producto como IN para decirle al
procedimiento el producto que queremos vender. Para simplificar las cosas
partimos de que el producto está siempre disponible. Vamos a vender
algunos productos para ver cómo cambia la variable:
Resultado
Cómo borrar un procedimiento almacenado
Puedes borrar un procedimiento almacenado haciendo uso de la
sentencia DROP PROCEDURE. Por ejemplo, si quieres eliminar el
procedimiento venderProducto del ejemplo anterior, tendrás que ejecutar
esta sentencia:
DROP PROCEDURE venderProducto;
LINKOGRAFÍA
1.- https://www.neoguias.com/procedimientosalmacenados-mysql/#Sintaxis
ICONS
2.https://www.cartagena99.com/recursos/alumnos
/apuntes/2_programas_almacenados.pdf
3.-https://blog.mdcloud.es/procedimientosalmacenados-mysql-que-son-como-crearlos-yventajas/
Descargar