Problem with procedure and workbench

0

I have a procedure that fills a table with data for later reference, for it uses two views, if I run from a database manager like HeidySql the procedure works correctly, but I do charge the procedure in the workbench and impact the database from there directly, generates the following error from a java application:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Invalid default value for 'base_cuotclie_vencimiento_base'

I do not know if it can be because of the driver jdbc suddenly!

Annexes

Base View (1)

CREATE OR REPLACE VIEW clientes_movimientos_base_cco_v AS 
SELECT 
c.cuotcliecco_empr_codigo       base_empr_codigo, 
c.cuotcliecco_sucu_codigo       base_sucu_codigo, 
c.cuotcliecco_movi_codigo       base_movi_codigo, 
v.vent_cli_codigo            base_cli_codigo, 
v.vent_mon_codigo            base_mon_codigo, 
c.cuotcliecco_cuotclie_secuencia         base_cuotclie_secuencia_base, 
c.cuotcliecco_cuota_numero  base_cuotclie_cuota_numero_base, 
c.cuotcliecco_vencimiento           base_cuotclie_vencimiento_base, 
c.cuotcliecco_opertipo_codigo   base_opertipo_codigo_base, 
c.cuotcliecco_operacion_numero  base_operacion_numero_base, 
v.vent_fecha_documento       base_fecha_base, 
v.vent_comprobante           base_comprobante_base, 
c.cuotcliecco_monto          base_monto_base, 
v.vent_cotizacion            base_cotizacion_base, 
v.vent_situacion             base_situacion, 
c.cuotcliecco_cco            base_cco 
FROM cuotas_clientes_cco c 
INNER JOIN ventas v 
ON v.vent_numero = c.cuotcliecco_operacion_numero; 

Complementary view (2)

CREATE OR REPLACE VIEW clientes_movimientos_complemento_cco_v AS  
SELECT 
c.cobr_empr_codigo           complemento_empr_codigo, 
c.cobr_sucu_codigo           complemento_sucu_codigo, 
c.cobr_pers_codigo           complemento_pers_codigo, 
c.cobr_mon_codigo                complemento_mon_codigo, 
0                            complemento_cuotclie_secuencia_complemento, 
0                                complemento_cuotclie_cuota_numero, 
c.cobr_opertipo_codigo       complemento_opertipo_codigo_complemento, 
c.cobr_numero                complemento_operacion_numero_complemento,  
c.cobr_fecha_documento       complemento_fecha_complemento, 
c.cobr_comprobante           complemento_comprobante_complemento, 
d.cobrdetacco_monto              complemento_monto_complemento, 
c.cobr_cotizacion            complemento_cotizacion_complemento, 
d.cobrdetacco_cuot_secuencia complemento_cuotcli_secuencia_origen, 
c.cobr_situacion             complemento_situacion, 
d.cobrdetacco_cco            complemento_cco 
FROM cobros c 
INNER JOIN cobros_detalles_cco d 
ON d.cobrdetacco_operacion_numero_cancelacion = c.cobr_numero 

Main Procedure

DROP PROCEDURE IF EXISTS sp_cargar_clientes_movimientos_cco; 

DELIMITER $$ 
CREATE PROCEDURE sp_cargar_clientes_movimientos_cco( 
empresa INT, 
sucursal INT, 
centroCosto INT, 
persona INT, 
moneda INT, 
usuario INT 
) 
BEGIN 
DROP TEMPORARY TABLE IF EXISTS clientes_movimientos_base_cco;
CREATE TEMPORARY TABLE clientes_movimientos_base_cco 
(INDEX temp_base_cuotcie_sq_i (base_cuotclie_secuencia_base))
SELECT * FROM clientes_movimientos_base_cco_v b 
where b.base_empr_codigo = empresa
and (b.base_sucu_codigo = sucursal or sucursal = 0)
and (b.base_cco = centroCosto or centroCosto = 0) 
and (b.base_cli_codigo = persona or persona = 0) 
and b.base_mon_codigo = moneda;

DROP TEMPORARY TABLE IF EXISTS clientes_movimientos_complemento_cco;
CREATE TEMPORARY TABLE clientes_movimientos_complemento_cco 
(INDEX temp_cuotclie_origen_sq_i (complemento_cuotcli_secuencia_origen))
SELECT * FROM clientes_movimientos_complemento_cco_v c
where c.complemento_empr_codigo = empresa
and (c.complemento_sucu_codigo = sucursal or sucursal = 0)
and (c.complemento_cco = centroCosto or centroCosto = 0) 
and (c.complemento_pers_codigo = persona or persona = 0) 
and c.complemento_mon_codigo = moneda;

DELETE FROM clientes_movimientos_cco where cliemovi_usu_codigo = usuario;
INSERT INTO clientes_movimientos_cco 
SELECT 
usuario                                                 cliemovi_usu_codigo,
b.base_empr_codigo                                      cliemovi_empr_codigo,
b.base_sucu_codigo                                      cliemovi_sucu_codigo,
b.base_movi_codigo                                      cliemovi_movi_codigo, 
b.base_cli_codigo                                       cliemovi_cli_codigo,
b.base_mon_codigo                                       cliemovi_mon_codigo,
b.base_cuotclie_secuencia_base                          cliemovi_cuotclie_secuencia_base,
b.base_cuotclie_cuota_numero_base                       cliemovi_cuotclie_cuota_numero_base,
b.base_cuotclie_vencimiento_base                        cliemovi_cuotclie_vencimiento_base,
b.base_opertipo_codigo_base                             cliemovi_opertipo_codigo_base,
b.base_operacion_numero_base                            cliemovi_operacion_numero_base,
b.base_fecha_base                                       cliemovi_fecha_base,
b.base_comprobante_base                                 cliemovi_comprobante_base,
b.base_monto_base                                       cliemovi_monto_base,
b.base_cotizacion_base                                  cliemovi_cotizacion_base,
b.base_situacion                                        cliemovi_base_situacion,
b.base_cco                                              cliemovi_centcost_codigo_base,
c.complemento_cuotclie_secuencia_complemento            cliemovi_cuotclie_secuencia_complemento,
c.complemento_cuotclie_cuota_numero                     cliemovi_cuotclie_cuota_numero_complemento,
c.complemento_opertipo_codigo_complemento               cliemovi_opertipo_codigo_complemento,
c.complemento_operacion_numero_complemento              cliemovi_operacion_numero_complemento,
c.complemento_fecha_complemento                         cliemovi_fecha_complemento,
c.complemento_comprobante_complemento                   cliemovi_comprobante_complemento,
c.complemento_monto_complemento                         cliemovi_monto_complemento,
c.complemento_cotizacion_complemento                    cliemovi_cotizacion_complemento,
ifnull(c.complemento_situacion, b.base_situacion)       cliemovi_situacion,
c.complemento_cco                                       cliemovi_centcost_codigo_complemento
FROM clientes_movimientos_base_cco b
left JOIN clientes_movimientos_complemento_cco c
ON c.complemento_cuotcli_secuencia_origen = b.base_cuotclie_secuencia_base
and c.complemento_situacion = 'VIGENTE';

END$$
DELIMITER ;
    
asked by Cristian Paniagua 24.06.2017 в 14:57
source

1 answer

1

When creating the temporary tables that are inside the procedure (where there is a field type date) the error is possibly given, today after trying a lot I discovered that in the workbench at the beginning of the sql he placed this code: sql_mode = ' TRADITIONAL ... 'before creating the procedure ... thing that another manager like Heidysql does not need to do ... with that basically solve the problem so far!

    
answered by 24.06.2017 / 18:47
source