Procedimientos Almacenados
SUBPROGRAMAS
Son importantes para no repetir instrucciones o por cuestión de seguridad.Trabaja con:
*Select *Update *Insert *Delete
Como trabajan? Trabajo simple (automático), dinámico (Parámetros)
PROCEDIMIENTO PARA INSERTAR
delimiter //
create procedure insetar_alumno(in _carnet char(10), in_nombre char(40))
begin
insert into alumno values(carnet,nombre); // insert into NombreTabla(Campos de la tabal) values (CamposCreadosenel Subprogramas);
end
//
delimiter ; //Siempre va espacio
VER LOS PROCEDIMIENTOS ALMACENADOS CREADOS
Comando:Show procedure status;
VER EL CONTENIDO DEL PROCEDIMIENTO
show create procedure Nombre_Procedimiento;
CARGAR O EJECUTAR UN PROCEDIMIENTO
call insertar_alumno('campo1','campo2',...);
PARA BORRAR UN PROCEDIMIENTO
drop procedure Nombre_procedimiento;
PROCEDIMIENTO PARA LISTAR
delimiter //
create procedure NombreProcedimiento()
begin
select * from NombreTabla;
end
//
delimiter ;
EJEMPLO
delimiter //
create procedure listar_alumnos()
begin
select * from alumno;
end
//
delimiter ;
PROCEDIMIENTO PARA CONSULTAR
delimiter //
create procedure consultar_alumno(in _carnet char(10))
begin
select * from alumno where carnet=_carnet;
end
//
delimiter ;
PROCEDIMIENTO PARA ELIMINAR
delimiter //
create procedure eliminar_alumno(in _carnet char(10))
begin
delete from alumno where carnet=_carnet;
end
//
delimiter ;
PROCEDIMIENTO PARA MODIFICAR O ACTUALIZAR
delimiter //
create procedure modificar_alumno(in _carnet char(10), in _nombre char(40), in _estado char(10))
begin
update alummno set nombre=_nombre, estado=_estado where carnet=_carnet;
end
//
delimiter ;
SINTAXIS PARA GUARDAR PROCEDIMIENTOS Y BASE DE DATOS
mysqldump -B -uroot -p --routines NombreBD>c:/xampp/NombreBD.sql