Sei sulla pagina 1di 5

Tabla clientes

CREATE TABLE CLIENTES(CODIGOCLIENTE VARCHAR(15), EMPRESA VARCHAR (30), DIRECCION


VARCHAR (30), POBLACION VARCHAR (20), TELEFONO VARCHAR(15), RESPONSABLE
VARCHAR(20), HISTORIAL VARCHAR(15));

***********************
CREATE PROCEDURE MUESTRA_CLIENTES()
SELECT * FROM CLIENTES WHERE POBLACION = 'Mexico';

CALL MUESTRA_CLIENTES();

***************************
TABLA PRODUCTOS

CREATE PROCEDURE ACTUALIZA_PRODUCTOS(N_PRECIO INT, CODIGO VARCHAR(4))


UPDATE PRODUCTOS SET PRECIO = N_PRECIO WHERE CODIGOARTICULO=CODIGO;

CALL ACTUALIZA_PRODUCTOS(425,'CA01');
************************
DELIMITER $$
CREATE PROCEDURE CALCULA_EDAD(ANIO_NICIMIENTO INT)
BEGIN
DECLARE ANIO_ACTUAL INT DEFAULT 2016;
DECLARE EDAD INT;

SET EDAD = ANIO_ACTUAL - ANIO_NACIMIENTO; //DELIMITADOR

SELECT EDAD; //RETURN

END; $$
DELIMITER ;

*****************************
DELIMITER $$
CREATE TRIGGER REVISA_PRECIO_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW
BEGIN
IF(NEW.PRECIO<0) THEN
SET NEW.PRECIO=OLD.PRECIO;

ELSEIF(NEW.PRECIO > 1000) THEN


SET NEW.PRECIO=OLD.PREDIO;
END IF;

END;$$
DELIMITER ;
//DEJE EL PRECIO ASI COMO ESTA

UPDATE PRODUCTOS SET PRECIO=15 WHERE CODIGOARTICULO='CA01';

UPDATE PRODUCTOS SET PRECIO=8500 WHERE CODIGOARTICULO='CA01';

***************************
CREATE DATABASE DBCLIENTES;
CREATE TABLE TBCLIENTES(CODIGO_CLI INT PRIMARY KEY, NOMBRE_CLI
VARCHAR(30))ENGINE=INNODB;

SELECT * FROM TBCLIENTES;


DELIMITER //
SELECT * FROM TBCLIENTES;
//

DELIMITER //
CREATE PROCEDURE INSERTARDATO(IN CODIGO INT, NOMBRE VARCHAR(230))
BEGIN
INSERT INTO TBCLIENTES(CODIGO_CLI, NOMBRE_CLI) VALUES (CODIGO,NOMBRE);
END//
DELIMITER ;

SHOW PROCEDURE;
SELECT * FROM TBCLIENTES;

CALL INSERTARDATO(1,'JOSE');
CALL INSERTARDATO(2,'DENIS');
CALL INSERTARDATO(3,'FABI');
CALL INSERTARDATO(4,'ZAIRA');
CALL INSERTARDATO(5,'DIANA');

UPDATE PRODUCTOS SET PRECIO=9500 WHERE CODIGOARTICULO='CA01';

***************************************
DELIMITER //
CREATE PRECEDURE VIDEO()
BEGIN
SHOW TABLES;
END//
DELIMITER ;

CALL VIDEO();

DELIMITER //
CREATE PRECEDURE SALUDO()
BEGIN
SELECT 'HOLA MUNDO';
END//
DELIMITER ;

SHOW PRECEDURE STATUS;


CALL SALUDO;
DROP PRECEDURE SALUDO;

***********************************************************************************
*********
CREATE TABLE ALUMNO(
MATRI INT NOT NULL PRIMARY KEY,
NOM VARCHAR(30) NOT NULL,
APA VARCHAR(20) NOT NULL,
AMA VARCHAR(20) NOT NULL,
DIR VARCHAR(50) NOT NULL,
COMEN VARCHAR(50));

************************************
PROCEDIMIENTOS ALMACENADOS SELECCIONAR
DELIMITER //
CREATE PROCEDURE SELECCIONAR_DATOSALUMNOS()
BEGIN
SELECT * FROM ALUMNO;
END //
DELIMITER ;

CALL SELECCIONAR_DATOSAUMNOS();

*********************************
PROCEDIMIENTOS ALMACENADOS INSERTAR

DELIMITER //
CREATE PROCEDURE INSERTAR_DATOSALUMNOS(IN MATRICULA INT, IN NOMBRE VARCHAR(30), IN
AP VARCHAR(20), IN AM VARCHAR(20), IN DIRECCION VARCHAR(50), IN COMENTARIO
VARCHAR(50))
BEGIN
INSERT INTO ALUMNO(MATRI,NOM,APA,AMA,DIR,COMEN) VALUES
(MATRICULA,NOMBRE,AP,AM,DIRECCION,COMENTARIO);
END
//
DELIMITER ;

CALL
INSERTAR_DATOSALUMNOS(112233,'DENIS','SANCHEZ','OSORIO','INDEPENDICIA','EXPERTO');
CALL INSERTAR_DATOSALUMNOS(113344,'JUAN','GARCIA','MARTINEZ','MORELOS','AVANZADO');
CALL INSERTAR_DATOSALUMNOS(223344,'PEDRO','PEREZ','MONTOYA','JUAREZ','MORERADOR');
CALL
INSERTAR_DATOSALUMNOS(224455,'FABIOLA','LOPEZ','ALVAREZ','INDEPENDICIA','REDACTOR')
;
CALL INSERTAR_DATOSALUMNOS(334455,'ZAIRA','GOMEZ','GONZALEZ','JUAREZ','MODERADOR');
CALL
INSERTAR_DATOSALUMNOS(335566,'MELISSA','FERIA','VAZQUEZ','INDEPENDICIA','EXPERTO');
CALL
INSERTAR_DATOSALUMNOS(445566,'DIANA','ROSALES','CRUZ','INDEPENDICIA','EXPERTO');
CALL INSERTAR_DATOSALUMNOS(446677,'SELINA','LOPEZ','FIERRO','ZARAGOZA','EXPERTO');
CALL INSERTAR_DATOSALUMNOS(556677,'PERLA','SANCHEZ','ISUNZA','MORELOS','AVANZADO');

**************************************
PROCEDIMIENTOS ALMACENADOS ACTUALIZAR

DELIMITER //
CREATE PROCEDURE ACTUALIZAR_DATOSALUMNOS(IN MATRICULA INT, IN NOMBRE VARCHAR(30),
IN AP VARCHAR(20), IN AM VARCHAR(20), IN DIRECCION VARCHAR(50), IN COMENTARIO
VARCHAR(50))
BEGIN
UPDATE ALUMNO SET NOM = NOMBRE, APA = AP, AMA = AM, DIR = DIRECCION, COMEN =
COMENTARIO WHERE MATRI = MATRICULA;
END //
DELIMITER ;

CALL
ACTUALIZAR_DATOSALUMNOS(112233,'JOSE','SANCHEZ','OSORIO','COLIMAN','REDACTOR');

***********************************
PROCEDIMIENTOS ALMACENADOS ELIMINAR

DELIMITER //
CREATE PROCEDURE ELIMINAR_DATOSALUMNOS(IN MATRICULA INT)
BEGIN
DELETE FROM ALUMNO WHERE MATRI = MATRICULA;
END //
DELIMITER ;

CALL ELIMINAR_DATOSALUMNOS(556677);

**********************************
PROCEDIMIENTOS ALMACENADOS CANTIDAD DE ALUMNOS

DELIMITER //
CREATE PROCEDURE CANTIDAD_ALUMNOS()
BEGIN
SELECT COUNT(*) FROM ALUMNO;
END //
DELIMITER ;

CALL CANTIDAD_ALUMNOS();

**************************************
PROCEDIMIENTOS ALMACENADOS LISTA ALUMNOS CUYO NOMBRE COMIENZA CON UNA DETERMINADA
LETRA:
DELIMITER //
CREATE PROCEDURE BUSCAR_ALUMNOS(LETRA CHAR(2))
BEGIN
SELECT * FROM ALUMNO WHERE NOM LIKE LETRA;
END //
DELIMITER ;

CALL BUSCAR_ALUMNOS('J%');

****************************************
PROCEDIMIENTOS ALMACENADOS LISTA DE ALUMNOS CUYO NOMBRE COMIENZA CON UNA
DETERMINADA LETRA
Y CUAL ES LA CANTIDAD DE ALUMNOS ALMACENADOS

DELIMITER //
CREATE PROCEDURE BUSCARCANTIDAD_ALUMNOS(IN LETRA CHAR(2), OUT ALUMNS INT)
BEGIN
SELECT * FROM ALUMNO WHERE NOM LIKE LETRA;
SELECT COUNT(*) AS ALUMNOS FROM ALUMNO WHERE NOM LIKE LETRA;
END //
DELIMITER ;

CALL BUSCARCANTIDAD_ALUMNOS('J%', @cantidad);

*******************************************
PROCEDIMIENTOS ALMACENADOS ALUMNO

DELIMITER //
CREATE PROCEDURE NIVEL_ALUMNO(IN USUARIO INT(11), OUT NIVEL VARCHAR(50))
BEGIN
DECLARE TOTAL INT;
SELECT COUNT(ALUMNO) INTO TOTAL FROM ALUMNO WHERE MATRI = USUARIO;
IF TOTAL > 5000 THEN
SET NIVEL = 'EXPERTO';
ELSEIF(TOTAL <= 5000 AND TOTAL >= 1000) THEN
SET NIVEL = 'AVANZADO';
ELSEIF(TOTAL <= 1000 AND TOTAL >= 500) THEN
SET NIVEL = 'MODERADOR';
ELSEIF(TOTAL <= 500 AND TOTAL >= 100) THEN
SET NIVEL = 'REDACTOR';
END IF;
END //
DELIMITER ;

CALL NIVEL_ALUMNO(112233,'REDACTOR');

Potrebbero piacerti anche