FILIAL – PIURA
TEMA:
CURSO:
Base de datos II
DOCENTE:
INTEGRANTES:
PIURA - 2017
INTORDUCCIÒN
Este informe trata de los procedimientos almacenados para insertar y eliminar con
parámetros y sin parámetros en MYSQL tema relevante que nos será útil en nuestra
carrera profesional como estudiantes nos ayuda a una creación correcta de una base de
datos.
Justifico este tema porque es de mucha importancia para nosotros conocer sobre los
parámetros en los gestores de base de datos de MYSQL y poder trabajar sin ningún
problema , ya que el tema es una herramienta muy útil en nuestra carrera profesional y
necesaria que la usaremos siempre ya sea para desempeñar nuestra propia profesión o
quizá en el futuro en nuestra propia empresa para de esa manera poder desarrollar un
La importancia de este tema radica en poder resumir de manera muy concreta y fácil de
tabla dentro del sistema de bases de datos. Este programa está hecho con un lenguaje
dentro del sistema de bases de datos. Este programa está hecho con un lenguaje propio
de cada Gestor de BD y esta compilado, por lo que la velocidad de ejecución será muy
rápida (1).
precisamente posible, para enviar de vuelta la información justa y necesaria y que por la
El procedimiento almacenado podrá ser invocado desde cualquier parte del programa, y
no tendremos que volver a armar la consulta a la BD cada que vez que queramos
programas individuales dentro de nuestra base de datos. Estos “programas” pueden ser
tiempo. Son más poderosos ya que sí pueden modificar datos, llamar a otros
DML (de manipulación de datos, como insert, update, delete), no instrucciones DDL
1. DELIMITER $$
2. CREATE PROCEDURE nombre_procedimiento(parameter[parameter_name
[type]])
3. BEGIN
4. Instrucciones
5. END $$
CALL puede pasar valores al llamador usando parámetros declarados como OUT o
INOUT . También “retorna” el número de registros afectados.
tendremos que introducir el caracter “;” para las sentencias, y si pulamos enter MySQL
y de salida, los de entrada (precedidos de “in”) son los que le pasamos para usar dentro
establecerán a lo largo del procedimiento y una vez esta haya finalizado podremos usar
almacenados creados por el usuario use un prefijo, por ejemplo "pa_" cuando les del
nombre.
PROCEDIMIENTO ALMACENADO INSERT:
1. DELIMITER $$
2. CREATE PROCEDURE name_insert(parameter[parameter_name
[type]],....)
3. BEGIN
4. INSERT INTO nombretabla(campo1,campo2,campo3,...)
5. VALUES (parameter_name,...);
6. END $$
7. DELIMITER ;
call name_insert('dato1','dato2',...);
1. DELIMITER $$
2. CREATE PROCEDURE name_delete(parameter[parameter_name [type]])
3. BEGIN
4. DELETE FROM nombretabla where campo1 = parameter_name;
5. END $$
6. DELIMITER ;
use ander;
delimiter $$
begin
insert into
cliente(idcliente,nombre,apellido,direccion,fecha_nacimiento,tel
efono,email)
values
(_idcliente,_nombre,_apellido,_direccion,_fecha_nacimiento,_tele
fono,_email);
end$$
delimiter $$
begin
values (pa_idcategoria,pa_nombre,pa_descripcion);
end$$
delimiter $$
begin
values (pa_idpago,pa_nombre,pa_otros_detalles);
end$$
delimiter $$
begin
values
(pa_idproducto,pa_idcategoria,pa_nombre,pa_precio,pa_stock);
end$$
call crearproducto('p01','c001','leche',3.50,6);
call crearproducto('p02','c002','piña',4.67,8);
delimiter $$
begin
values (pa_idfactura,pa_idcliente,pa_idpago,pa_fecha);
end$$
call crearfactura('f001','0001','p01','p001','2017-06-23');
call crearfactura('f002','0002','p02','p002','2017-08-12');
delimiter $$
begin
insert into
detalle(iddetalle,idfactura,idproducto,cantidad,precio)
values
(pa_iddetalle,pa_idfactura,pa_idproducto,pa_cantidad,pa_precio);
end$$
call creardetalle('d001','f001','p01',5,23.5);
call creardetalle('d002','f002','p02',7,20.4);
PROCEDIMIENTO ALMACENADO ELIMINAR CON PARAMETROS:
delimiter $$
begin
end$$
call eliminarcliente('0001');
delimiter $$
begin
end$$
call eliminarcategoria('c001');
delimiter $$
begin
end$$
call eliminarpago('p001');
Procedimiento almacenado eliminarproducto:
delimiter $$
begin
end$$
call eliminarproducto('p001');
delimiter $$
begin
end$$
call eliminarfactura('f001');
delimiter $$
begin
end$$
call eliminardetalle('d001');
Bibliografía
https://fcocastan.wordpress.com/2010/12/27/procedimiento-almacenado-sin-
parametros-de-salida-en-mysql-5/.
. Available from:
http://www.tutorialesprogramacionya.com/oracleya/temarios/descripcion.php?inicio=
75&cod=250&punto=92.
5.0/stored-procedures.html#stored-procedure-logging.
. IC Editoria; 2014.