Trigger MySQL
Publicado por Luz Facundo E. (6 intervenciones) el 08/01/2012 05:19:39
Hola 
Por favor alguien me puede ayudar.
Cuando corro en el MySQL Command Line Client mi trigger con el siguiente contenido corre
DELIMITER //
CREATE TRIGGER t_I_f_detall_kardex AFTER INSERT ON det_fact_venta
FOR EACH ROW
BEGIN
INSERT INTO t_kardex SET
t_kardex.in_id_almacen = NEW.in_id_almacen,
t_kardex.in_id_producto = NEW.in_id_product,
t_kardex.dt_fecha_reg = NEW.dt_fec_insert,
t_kardex.ch_tipo_docum = 'FA',
t_kardex.vc_nro_docum = NEW.ch_id_num_fact,
t_kardex.in_id_clie_prov = NEW.in_id_cliente,
t_kardex.ch_clie_prov = 'C',
t_kardex.ch_tipo_ing_sal = 'S',
t_kardex.nm_q_ingreso = 0,
t_kardex.nm_q_salida = NEW.dc_cantid_prod,
t_kardex.nm_saldo = t_stockalm.nm_stockr - NEW.dc_cantid_prod,
t_kardex.in_id_estado = NEW.in_id_estado;
END;//
DELIMITER ;
y no corre con el siguiente codigo
DELIMITER //
CREATE TRIGGER t_I_f_detall_kardex AFTER INSERT ON det_fact_venta
FOR EACH ROW
BEGIN
INSERT INTO t_kardex SET
t_kardex.in_id_almacen = NEW.in_id_almacen,
t_kardex.in_id_producto = NEW.in_id_product,
t_kardex.dt_fecha_reg = NEW.dt_fec_insert,
t_kardex.ch_tipo_docum = 'FA',
t_kardex.vc_nro_docum = NEW.ch_id_num_fact,
t_kardex.in_id_clie_prov = NEW.in_id_cliente,
t_kardex.ch_clie_prov = 'C',
t_kardex.ch_tipo_ing_sal = 'S',
t_kardex.nm_q_ingreso = 0,
t_kardex.nm_q_salida = NEW.dc_cantid_prod,
t_kardex.nm_saldo = t_stockalm.nm_stockr - NEW.dc_cantid_prod,
t_kardex.in_id_estado = NEW.in_id_estado,
t_kardex.ch_moned_costo = t_productos.ch_mone_cost,
t_kardex.nm_cost_unit = t_productos.nm_costo
where new.in_id_product = t_stockalm.in_id_producto and new.in_id_product = t_productos.in_id_product and
new.in_id_almacen = t_productos.in_id_genero and new.in_id_almacen = t_stockalm.in_id_almacen;
END;//
DELIMITER ;
Por favor, alguien me puede decir que esta mal.
Agradesco la ayuda.
Saludos.

Por favor alguien me puede ayudar.
Cuando corro en el MySQL Command Line Client mi trigger con el siguiente contenido corre
DELIMITER //
CREATE TRIGGER t_I_f_detall_kardex AFTER INSERT ON det_fact_venta
FOR EACH ROW
BEGIN
INSERT INTO t_kardex SET
t_kardex.in_id_almacen = NEW.in_id_almacen,
t_kardex.in_id_producto = NEW.in_id_product,
t_kardex.dt_fecha_reg = NEW.dt_fec_insert,
t_kardex.ch_tipo_docum = 'FA',
t_kardex.vc_nro_docum = NEW.ch_id_num_fact,
t_kardex.in_id_clie_prov = NEW.in_id_cliente,
t_kardex.ch_clie_prov = 'C',
t_kardex.ch_tipo_ing_sal = 'S',
t_kardex.nm_q_ingreso = 0,
t_kardex.nm_q_salida = NEW.dc_cantid_prod,
t_kardex.nm_saldo = t_stockalm.nm_stockr - NEW.dc_cantid_prod,
t_kardex.in_id_estado = NEW.in_id_estado;
END;//
DELIMITER ;
y no corre con el siguiente codigo
DELIMITER //
CREATE TRIGGER t_I_f_detall_kardex AFTER INSERT ON det_fact_venta
FOR EACH ROW
BEGIN
INSERT INTO t_kardex SET
t_kardex.in_id_almacen = NEW.in_id_almacen,
t_kardex.in_id_producto = NEW.in_id_product,
t_kardex.dt_fecha_reg = NEW.dt_fec_insert,
t_kardex.ch_tipo_docum = 'FA',
t_kardex.vc_nro_docum = NEW.ch_id_num_fact,
t_kardex.in_id_clie_prov = NEW.in_id_cliente,
t_kardex.ch_clie_prov = 'C',
t_kardex.ch_tipo_ing_sal = 'S',
t_kardex.nm_q_ingreso = 0,
t_kardex.nm_q_salida = NEW.dc_cantid_prod,
t_kardex.nm_saldo = t_stockalm.nm_stockr - NEW.dc_cantid_prod,
t_kardex.in_id_estado = NEW.in_id_estado,
t_kardex.ch_moned_costo = t_productos.ch_mone_cost,
t_kardex.nm_cost_unit = t_productos.nm_costo
where new.in_id_product = t_stockalm.in_id_producto and new.in_id_product = t_productos.in_id_product and
new.in_id_almacen = t_productos.in_id_genero and new.in_id_almacen = t_stockalm.in_id_almacen;
END;//
DELIMITER ;
Por favor, alguien me puede decir que esta mal.
Agradesco la ayuda.
Saludos.
Valora esta pregunta


0