Académique Documents
Professionnel Documents
Culture Documents
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Ingresar_Tercero`(in Tercero_Nit varchar(15), in
Tercero_Nombre1 varchar(45), in Tercero_Nombre2 varchar(45), in Tercero_Apellido1
varchar(45), in Tercero_Apellido2 varchar(45), in Tercero_Direccion varchar(45),
in Tercero_Ciudad varchar(45), in Tercero_Celular varchar (15), in Tercero_Razon_Social
varchar(45), in Tercero_Tipo_Pers varchar(1), in Tercero_Tipo varchar (1), in Tercero_Cargo
varchar(45))
begin
insert into tercero values (Tercero_Nit, tercero_nombre1,Tercero_Nombre2,
Tercero_Apellido1, Tercero_Apellido2, Tercero_Direccion, Tercero_Ciudad,
Tercero_Celular, Tercero_Razon_Social, Tercero_Tipo_Pers, Tercero_Tipo, Tercero_Cargo);
End
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Llenartiposterceros`(in Tipo_Tercero_tipo
varchar(1), in Tipo_Tercero_Nombre Varchar(45))
BEGIN
insert into tipo_tercero values (Tipo_Tercero_Tipo, Tipo_Tercero_Nombre);
END
3. PROCEDIMIENTO ALMACENADO PARA INSERCION DE LA TABLA TIPOS DE PERSONA.
DE IGUAL FORMA QUE EL PROCEDIMIENTO ANTERIOR ESTE APOYA AL MODULO DE REGISTRO
DE PROVEEDORES O CLIENTE.
DELIMITER $$
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `ingresar_vendedor`(in Vendedor_Codigo
varchar(15), in Vendedor_Identificacion varchar (15))
BEGIN
insert into vendedor values (Vendedor_Codigo, Vendedor_Identificacion);
END
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `ingresar_producto`(in Producto_Codigo varchar
(15), in Producto_Nombre varchar(45), in producto_marca varchar(45),
in producto_ubicacion varchar(45), in producto_codigo_categoria varchar(15), in
producto_tarifa_iva int,
in producto_unidad int, in producto_costo int, in producto_precio_venta int, in producto_foto
varchar(15),
in producto_vendedor varchar (15) )
BEGIN
insert into producto values (Producto_Codigo, Producto_Nombre, producto_marca,
producto_ubicacion, producto_codigo_categoria, producto_tarifa_iva, producto_unidad,
producto_costo, producto_precio_venta, producto_foto, producto_vendedor);
END
6. PROCEDIMIENTO ALMACENADO PARA INGRESAR LOS DATOS DE LA TABLA MOVIMIENTO
ESTE PROCEDIMIENTO ES DE GRAN MOVIMIENTO Y ES EL QUE APOYA EL CASO DE USO O
MODULO DE REGISTRO DE VENTA EN EL SISTEMA.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `ingreso_movimiento`(in
movimiento_numero_factura varchar (15),
in movimiento_fecha date, in movimiento_tercero varchar(15), in movimiento_vendedor
varchar(15),
in movimiento_detalle varchar(45), in movimiento_codigo_producto varchar(15), in
movimiento_cantidad_producto int,
in movimiento_costo_unitario int)
BEGIN
insert into movimiento values (movimiento_numero_factura, movimiento_fecha,
movimiento_tercero, movimiento_vendedor, movimiento_detalle,
movimiento_codigo_producto,
movimiento_cantidad_producto, movimiento_costo_unitario);
END
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `listadoxorden`(in criterio varchar(45))
BEGIN
if criterio = "nombre" THEN
select * from tercero order by tercero_nombre1 asc;
end if;
if criterio = "apellido" then
select * from tercero order by tercero_apellidos1 asc;
end if;
END
8. PROCEDIMIENTO ALMACENADO CON PARAMETRO DE ENTRADA PARA LISTAR LAS PERSONAS
QUE PERTENECEN A NATURALES “N” O JURIDICAS “J”.
AL IGUAL QUE EL ANTERIOR PROCEDIMIENTO ESTE APOYA AL MODULO DE REGISTRO DE
PROVEEDORES EN DONDE PODEMOS OBTENER UN LISTADO DE PROVEEDORES O CLIENTES
QUE ESTAN EN UNO DE LOS DOS REGIMENES YA SEA NATURAL O JURIDICO.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `listarxtipo`(in criterio varchar(1))
BEGIN
select * from tercero where tercero_tipo_pers = criterio;
END
1. FUNCION PARA HALLAR LA GANANCIA DE UN DETERMINADO PRODUCTO.
ESTA FUNCION ES ESENCIAL PARA HALLAR CALCULOS RAPIDOS EN CUANTO A LOS COSTOS Y
LA RELACION DE GANANCIA QUE HAY EN CADA PRODUCTO. ESTA FUNCION SE IMPLEMENTA
EN EL MODULO DE REGISTRO DE PRODUCTOS.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `ganancia`(codigo varchar(15)) RETURNS int(11)
DETERMINISTIC
BEGIN
declare gan integer;
select (producto_precio_venta - producto_costo) into gan from producto where
producto_codigo = codigo;
RETURN gan;
END
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `MINIMO`() RETURNS int(11)
DETERMINISTIC
BEGIN
DECLARE MINI INTEGER;
SELECT MIN(PRODUCTO_COSTO) INTO MINI FROM PRODUCTO;
RETURN MINI;
END
3. FUNCION PARA DETERMINAR EL PRODUCTO CON EL PRECIO MAS CARO DENTRO DE LA TABLA
PRODUCTO.
ESTA FUNCION DETERMINA EL PRECIO DE VENTA MAS ALTO QUE SE TIENE EN LA BASE DE
DATOS, APOYANDO EL MODULO DE REGISTRO DE PRODUCTOS.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `MAXIMO`() RETURNS int(11)
DETERMINISTIC
BEGIN
DECLARE MASCARO INTEGER;
SELECT MAX(PRODUCTO_PRECIO_VENTA) INTO MASCARO FROM PRODUCTO;
RETURN MASCARO;
END
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `contador`(buscar varchar(1)) RETURNS int(11)
DETERMINISTIC
BEGIN
declare total integer;
if buscar = "p" or buscar = "c" then
select count(*) into total from tercero where tercero_tipo = buscar;
end if;
if buscar = "n" or buscar = "j" then
select count(*) into total from tercero where tercero_tipo_pers = buscar;
end if;
RETURN total;
END
DESENCADENADORES – DISPARADORES - TRIGGERS
1. CREAMOS UNA NUEVA TABLA PARA EMPLEAR UN DISPARADOR PARA CUANDO SE
MODIFIQUEN O ACTUALICEN DATOS DE LA TABLA TERCERO.
ESTE TRIGGERS ES MUY IMPORTANTE APOYA AL MODULO DE PROVEEDORES O CLIENTES Y
TIENE COMO FUNCION GUARDAR EL REGISTRO CUANDO SE MODIFICA UN REGISTRO Y ESTE SE
PUEDA RECUPERAR EN UN FUTURO.
USE `variedadeslucerito1`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` TRIGGER tercero_BUPD BEFORE UPDATE ON tercero FOR
EACH ROW
INSERT into audi_tercero (nombre1_ant, nombre2_ant, ape1_ant, ape2_ant,
dir_ant, ciu_ant, celu_ant, rsocial_ant, tipoper_ant, tipoter_ant, cargo_ant,
nombre1_nw, nombre2_nw, ape1_nw, ape2_nw, dir_nw, ciu_nw, celu_nw, rsocial_nw,
tipoper_nw, tipoter_nw, cargo_nw, audi_fecha, audi_usuario, audi_accion, audi_tercero_nit)
values (old.tercero_nombre1, old.tercero_nombre2, old.tercero_apellidos1,
old.tercero_apellidos2,
old.tercero_direccion, old.tercero_ciudad, old.tercero_celular, old.tercero_razon_social,
old.tercero_tipo_pers, old.tercero_tipo, old.tercero_cargo, new.tercero_nombre1,
new.tercero_nombre2, new.tercero_apellidos1, new.tercero_apellidos2,
new.tercero_direccion, new.tercero_ciudad, new.tercero_celular, new.tercero_razon_social,
new.tercero_tipo_pers, new.tercero_tipo, new.tercero_cargo, now(),
current_user(),"Actualizacion", new.tercero_nit)
USE `variedadeslucerito1`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` TRIGGER producto_BUPD BEFORE UPDATE ON producto FOR
EACH ROW
INSERT INTO AUDI_PRODUCTO (nombre_ant, marca_ant, ubica_ant, categ_ant, iva_ant,
un_ant, costo_ant, precio_ant, foto_ant, provee_ant, nombre_nw, marca_nw, ubica_nw,
categ_nw, iva_nw, un_nw, costo_nw, precio_nw, foto_nw, provee_nw, audi_fecha,
audi_usuario, audi_accion, audi_producto_codigo)
VALUES (old.producto_nombre, old.producto_marca, old.producto_ubicacion,
old.producto_codigo_categoria,
old.producto_tarifa_iva, old.producto_unidad, old.producto_costo, old.producto_precio_venta,
old.producto_foto, old.producto_proveedor, new.producto_nombre, new.producto_marca,
new.producto_ubicacion, new.producto_codigo_categoria,
new.producto_tarifa_iva, new.producto_unidad, new.producto_costo,
new.producto_precio_venta,
new.producto_foto, new.producto_proveedor, sysdate(), current_user(), "Actualizacion",
new.producto_codigo)