base de datos mysql

Upload: tomy-mo-d

Post on 07-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

act

TRANSCRIPT

CREATE DATABASE farma;USE farma;-- SI EN CASO NO ES PRIMARY KEY MEJOR MIRAS UNO DE MIS TUTORIALES COMO CREO TABLASCREATE TABLE usuarios( id int(10) unsigned NOT NULL auto_increment, Nombres varchar(50) default NULL, Apellidos varchar(50) default NULL, Contrasea int(8) default NULL, Usuarios_usu varchar(50) default NULL, DNI int(8) default NULL, foto text, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;-- OJO SI EN CASO NO USAS EL MOTOR InnoDB TONCES PONES ENGINE=MyISAM

DELIMITER $$

CREATE PROCEDURE Sentencia_Usuarios(IN x_0 varchar(1000),IN x_1 varchar(50),IN x_2 varchar(50),IN x_3 varchar(50), IN x_4 varchar(50),IN x_5 int(8),IN x_6 varchar(50))BEGINdeclare Capturar integer;declare fotos text;declare Valor text;DECLARE error INTEGER DEFAULT 0;

/**DECLARE CONTINUE HANDLER FOR SQLSTATE 23000,SQLEXCEPTION **/#DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET duplicate_key=1;

DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' BEGIN SET error=1; SELECT "ERRROR DANCER"; ROLLBACK;END;START TRANSACTION;IF x_0=0 THEN

SET @Capturar=(SELECT IFNULL(MAX(id), 0) +1 FROM Usuarios);IF LENGTH(TRIM(x_6)) 0 THENSET fotos=CONCAT(CONVERT(@Capturar, CHAR),'_',x_6);ELSESET fotos='';END IF;INSERT INTO Usuarios(id,Nombres,Apellidos,Contrasea,Usuarios_usu,DNI,foto) VALUES(@Capturar,x_1,x_2,x_3,x_4,x_5,fotos);ELSESET @Capturar=(SELECT id FROM Usuarios WHERE id=CONVERT(x_0, UNSIGNED INTEGER));SET @fotos=(SELECT foto FROM Usuarios WHERE id=CONVERT(x_0, UNSIGNED INTEGER));

IF @fotos x_6 thenUPDATE Usuarios SET Nombres=x_1,Apellidos=x_2,Contrasea=x_3,Usuarios_usu=x_4,DNI=x_5,foto=CONCAT(@Capturar,'_',x_6) WHERE id=CONVERT(x_0, UNSIGNED INTEGER);ELSEUPDATE Usuarios SET Nombres=x_1,Apellidos=x_2,Contrasea=x_3,Usuarios_usu=x_4,DNI=x_5,foto=x_6 WHERE id=CONVERT(x_0, UNSIGNED INTEGER);END IF;END IF;IF (error=1) THEN ROLLBACK;SELECT concat('Error Al Envio Servidor'); ELSE COMMIT;SELECT concat('COMMIT Al Envio Servidor'); END IF; END

DELIMITER $$

CREATE PROCEDURE Select_Max(IN Tabla VARCHAR(50),IN Campo VARCHAR(50),IN Valor VARCHAR(5000),IN Bandera INT) READS SQL DATABEGINIF Bandera=1 THENSET @query = CONCAT('SELECT IFNULL(MAX(id), 0) +1 AS Maximo FROM ', Tabla,';');ELSEIF Bandera=2 THENSET @query = CONCAT('SELECT * FROM ', Tabla,' WHERE CONVERT(', Campo,', CHAR) LIKE CONCAT(''%'',LOWER(TRIM(''', Valor,''')),''%'') ORDER BY id;');ELSEIF Bandera=3 THENSET @query = CONCAT('SELECT * FROM ', Tabla,' WHERE CONVERT(', Campo,', CHAR) = CONVERT(LOWER(TRIM(''', Valor,''')), CHAR) ORDER BY id;');ELSEIF Bandera=4 THENSET @query = CONCAT('SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=''', Campo,''' AND TABLE_NAME =''', Tabla,''';');ELSEIF Bandera=5 THENSET @sql = CONCAT('DELETE FROM ', Tabla,' WHERE CONVERT(', Campo,', CHAR) = CONVERT(LOWER(TRIM(''', Valor,''')), CHAR)');PREPARE ELIMINAR FROM @sql;EXECUTE ELIMINAR;DEALLOCATE PREPARE ELIMINAR;SET @query = CONCAT('SELECT ''ELIMINADO CORRECTAMENTE'';');END IF; PREPARE Ejecutar FROM @query;EXECUTE Ejecutar;DEALLOCATE PREPARE Ejecutar;END