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

ejecutar trigger desde statement

Estas en el tema de ejecutar trigger desde statement en el foro de Java en Foros del Web. Buen dia , tengo una base de datos que creo a travez de un archivo de texto con las instrucciones sql para crearlas en mysql ...
  #1 (permalink)  
Antiguo 15/10/2012, 11:03
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
ejecutar trigger desde statement

Buen dia , tengo una base de datos que creo a travez de un archivo de texto con las instrucciones sql para crearlas en mysql a travez de un statement , todo esto lo hace bien , pero tengo la duda de como pasar o crear un trigger a travez de un statement pues al hacer la prueba este no se crea , el trigger lo tengo compuesto de la siguiente forma
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 ;
lo que desconozco es si debo pasar el texto tal cual o debo eliminar o sustituir el punto y coma por algun otro caracter o suprimirlo o si debo dejar o eliminar la indicacion del cambio del delimiter , agradeceria mucho me pudieran orientar sobre como pasar la instruccion de manera correcta al preparedStatement de antemano se agradece la atencion

Etiquetas: preparedstatement, 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 08:56.