Consultas de Antonio, 28/11/2017 - 29/11/2017

/* 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 */