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 ;