Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2012, 11:42
Avatar de fahs82
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 ;