Código de MySQL - Código Autogenerado

<<>>

Código Autogeneradográfica de visualizaciones


MySQL

Actualizado el 08 de Febrero del 2017 por luis (Publicado el 07 de Febrero del 2017)
2.320 visualizaciones desde el 07 de Febrero del 2017. Una media de 28 por semana
Creando un procedimiento almacenado en Mysql el cual al ingresar datos genere automáticamente y de manera incremental un código que esta compuesto por 2 campos (cod1 y cod2) el cual va incrementando hasta que cod1 sea distinto entonces empieza de nuevo.

Requerimientos

Tener instalado el MYSQL, en este caso se utilizo mariadb con heidi

versión 1.0

Actualizado el 15 de Marzo del 2017 (Publicado el 07 de Febrero del 2017)gráfica de visualizaciones de la versión: versión 1.0
2.321 visualizaciones desde el 07 de Febrero del 2017. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
create table prueba(
	cod1 char(9),
	cod2 char(8),
	nombre varchar(10)
	);
 
DELIMITER $
CREATE PROCEDURE cargar_datos(IN nnombre VARCHAR(20)
)
 
BEGIN
	DECLARE ncod1 CHAR(9);
	DECLARE ncod2 Char(8);
	DECLARE NUM INT;
	DECLARE FECHA CHAR(9);
	SET ncod1=(SELECT DATE_FORMAT(NOW(),'%Y%m%d'));
	SET NUM = (SELECT LTRIM(RIGHT(MAX(cod2),7)) from prueba);
	SET FECHA=(SELECT MAX(cod1) FROM PRUEBA);
 
	IF FECHA=ncod1 THEN
		IF NUM >= 1 AND NUM <= 8 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T000000',CAST(NUM AS CHAR)));
		ELSEIF NUM >=9 AND NUM <=98 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T00000',CAST(NUM AS CHAR)));
		ELSEIF NUM >=99 AND NUM <=998 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T0000',CAST(NUM AS CHAR)));
		ELSEIF NUM >=999 AND NUM <=9998 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T000',CAST(NUM AS CHAR)));
		ELSEIF NUM >=9999 AND NUM <=99998 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T00',CAST(NUM AS CHAR)));
		ELSEIF NUM >=99999 AND NUM <=99998 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T0',CAST(NUM AS CHAR)));
		ELSEIF NUM >=999999 AND NUM <=999998 THEN
			SET NUM = NUM + 1;
			SET ncod2= (SELECT CONCAT('T',CAST(NUM AS CHAR)));
		ELSE
			SET ncod2= (SELECT 'T0000001');
		END IF;
	ELSE
		SET ncod2= (SELECT 'T0000001');
	END IF;
 
 
	INSERT INTO PRUEBA VALUES(ncod1,ncod2,nnombre);
 
END $
 
call cargar_datos('LUIS');
 
SELECT * FROM PRUEBA;



Comentarios sobre la versión: versión 1.0 (0)


No hay comentarios
 

Comentar la versión: versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3862  
Revisar política de publicidad