/* Borra TablasFecha3 si existe */
DROP SCHEMA IF EXISTS TablasFecha3;
/* Crea un esquema con el nombre TablasFecha3 */
CREATE SCHEMA TablasFecha3;
/* Elegimos la tabla TablasFecha3 */
USE TablasFecha3;
/* Creando la tabla Cliente */
create table Cliente(
Dni VARCHAR(10),
Nombre VARCHAR(10),
Apellido VARCHAR(10),
PRIMARY KEY (Dni)
)ENGINE=InnoDB;
/* Creando la tabla Pedidos */
create table Pedidos(
npedido INTEGER,
fecha DATE,
Cantidad DOUBLE,
cliente_Dni VARCHAR(10),
PRIMARY KEY (npedido),
FOREIGN KEY (cliente_Dni) REFERENCES Cliente(Dni)
)ENGINE=InnoDB;
/* Cambiamos el delimitador ; por // porque vamos a hacer un pequeño script */
delimiter //
/* Crea un procedimiento */
CREATE PROCEDURE `tabla_fecha`( )
BEGIN /* Comienzo de la función */
/* Declara una variable Fecha_Actual */
DECLARE Fecha_Actual VARCHAR(50);
/* Define que Fecha_Actual va a ser el tiempo actualmente ej: 12_02_2017_13:45 */
SET Fecha_Actual=DATE_FORMAT(CURRENT_TIMESTAMP, '%d_%m_%Y_%H%i');
/* Define una variable t en la que se concatenará la string 'Tabla_' y la fecha de Fecha_Actual */
SET @t=CONCAT('Tabla_', Fecha_Actual);
/* Define una variable q en la que se concatenará las strings de abajo más lo incluido en t. Está creando una consulta paso a paso */
SET @q=CONCAT('CREATE TABLE ',@t,' (i INT)');
/* Prepara la variable q para hacer una consulta, como en php */
PREPARE S1 FROM @q;
/* Ejecuta la consulta */
EXECUTE S1;
END; /* Fin de la función */
//
/* Cambiamos de nuevo al delimitador por defecto */
delimiter ;
INSERT INTO Cliente VALUES ('7211545v','Carlos','Martinez');
INSERT INTO Pedidos VALUES ('122','2010/01/05',7,'7211545v');
/* * * * * * * 29/11/2017 * * * * * * */
/* Llamar rutina: tabla.rutina */
CALL TablasFecha3.tabla_fechax();
/* Información de las rutinas realizadas */
SHOW PROCEDURES STATUS like 'tabla_fechasx';
/* CREATE USER creará un usuario con permisos USAGE (no en todos) en la tabla user */