Foros del Web » Programación para mayores de 30 ;) » Java »

ejecutar archivo de texto para crear trigger mysql en statement

Estas en el tema de ejecutar archivo de texto para crear trigger mysql en statement en el foro de Java en Foros del Web. Hola buen dia , tengo una rutina en la que construyo mi base de datos por medio de un archivo de texto con instrucciones de ...
  #1 (permalink)  
Antiguo 14/09/2012, 11:42
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
ejecutar archivo de texto para crear trigger mysql en statement

Hola buen dia , tengo una rutina en la que construyo mi base de datos por medio de un archivo de texto con instrucciones de mysql , esto me funciona bien pero no se como ejecutar otro archivo que contiene las instrucciones de un trigger a continuacion posteo la rutina que use pero que no me funciono , agradesco la ayuda que me puedan brindar para poder resolver el problema

Código:
StringBuffer triggerQuery = new StringBuffer();    
    
try {    
InputStream is = getClass().getClassLoader().getResourceAsStream("imagen/trigger.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while((line = br.readLine())!= null){
triggerQuery.append(line);
}
executeLine(triggerQuery.toString());
}
catch(Exception E){

}
}

y el contenido de mi archivo de texto es el siguiente

Código:
DROP TRIGGER IF EXISTS ACTCODIGO;
DELIMITER |

CREATE TRIGGER actcodigo BEFORE INSERT ON BC_ARTICULOS
  FOR EACH ROW BEGIN
  DECLARE digito INT DEFAULT 0;
  DECLARE resultado INT DEFAULT 0;
  DECLARE IDN INT DEFAULT 0;
  DECLARE NUMPREV VARCHAR(30) DEFAULT 0;
  IF NEW.BARCODE IS NULL THEN
  SET IDN = (SELECT MAX(ID) FROM BC_ARTICULOS);
  IF IDN IS NULL THEN
  SET IDN = 1;   
  ELSE
  SET IDN = (SELECT MAX(ID) FROM BC_ARTICULOS) +1; 
  END IF; 
  SET NUMPREV = 750000000000 + IDN; 
  SET DIGITO = 10-(((substr(NUMPREV,2,1)+substr(NUMPREV,4,1)+substr(NUMPREV,6,1)+substr(NUMPREV,8,1)+substr(NUMPREV,10,1)+substr(NUMPREV,12,1))*3)+((substr(NUMPREV,1,1)+substr(NUMPREV,3,1)+substr(NUMPREV,5,1)+substr(NUMPREV,7,1)+substr(NUMPREV,9,1)+substr(NUMPREV,11,1))))mod 10;
  IF  DIGITO < 10 THEN SET NEW.BARCODE = CONCAT(NUMPREV,DIGITO);
  ELSE  SET NEW.BARCODE = CONCAT(NUMPREV,'0');
  END IF;
  END IF;
  END
|

DELIMITER ;

Etiquetas: mysql, statement, string, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:11.