Manejo de secuencias dentro de transacciones

From: "Lorena Gpe(dot) M(dot) Osorio" <peque35(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Manejo de secuencias dentro de transacciones
Date: 2010-10-13 18:43:16
Message-ID: AANLkTimntaSVQd7pAFniwkGrM+3T66d1F+8HxKFgeQe+@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

BUENOS TARDES!!

tengo el siguiente bloque de transaccion

BEGIN;

INSERT INTO empenos(esuc, efolio, ecliente_id, ehora, estatus, eint_mensual,
eint_diario, efch_emp, efch_ven, eprestamo, eprorroga, eprc_finan, eprc_ope,
eprc_custodia, eprc_impuesto, efch_ult_pago, evaluador, efecha_adj,
etipo_pla, econt, elk_cont, efch_corte, eavaluo, efch_ven_ant, eiva, efinan,
eopera, ecusto) VALUES ('RE3', ( 'RE3' || 'E' || '-' ||
LPAD(cast(nextval('re3_E' )as varchar),5,'0') ) , '516', '10:29', 'E',
'20.181', '0.6727', '2010-10-13', '2010-11-12', '100', '10', '5.0455',
'8.0727', '7.0636', '11', '1900-01-01', 'EGALLEGOS', '1900-01-01', '30',
'1', '0', '1900-01-01', '200', '2010-10-13', '11', '5.046', '8.073',
'7.064');

INSERT INTO empmercanx( mer_suc_id, mer_num_inv, mer_clasif, mer_marca,
mer_modelo, mer_serie, mer_color, mer_ubicacion, mer_metal, mer_kilates,
mer_desc, mer_costo, mer_pre_venta, mer_peso, mer_status, mer_origen,
mer_dividido, mer_scrap, mer_ciu, mer_folio, mer_costo_emp, mer_tipo) VALUES
('RE3 ','RE3E-0009801','','SAGEM','MOSSS','SS','ROJO
','CAJA',0,0,'DEC',100.00,200,0,'E',0,FALSE,FALSE,'REYNOSA','RE3E-00098',100.00,'N');

INSERT INTO auditomer( aud_suc_id, aud_mvt_id, aud_fol_movto, aud_num_inv,
aud_fecha, aud_status, aud_val_id)VALUES ('RE3
',1,'RE3E-00098','RE3E-0009801', '2010-10-13', 'E', 'EGALLEGOS');INSERT INTO
empbitaco( bit_tipo_ope, bit_fecha, bit_hora, bit_modulo, bit_tabla,
bit_reg_llave, bit_val_id) VALUES ('AGREGAR','2010-10-13', '10:10','E',
'EMPENOS','RE3E-00098|RE3 |1', 'EGALLEGOS');

INSERT INTO cotitular(coti_nombre, coti_empeno, coti_cliente,
coti_fechaemp,coti_horaemp)
VALUES ('NO PROPORCIONA', 'RE3E-00098', '516', '2010-10-13', '10:29');

INSERT INTO movempeno( mov_suc_id, mov_mvt_id, mov_folio, mov_carabo,
mov_fecha, mov_cliente, mov_val_id, mov_importe, mov_car, mov_abo,
mov_intmora, mov_cont, mov_lkcont, mov_usu, mov_hora, mov_status,
mov_tipopago, mov_fchcorte, mov_folref, mov_posant, mov_fch_intmora,
mov_adicional, mov_ndiasadi) VALUES ('',1 , '', 'C', '2010-10-13', '',
'EGALLEGOS', 0, 0, 0, 0,0,0, 'EGALLEGOS', '10:10','A', 'n', '1900-01-01',
'', 'E','1900-01-01',0,0);

INSERT INTO movempeno( mov_suc_id, mov_mvt_id, mov_folio, mov_carabo,
mov_fecha, mov_cliente, mov_val_id, mov_importe, mov_car, mov_abo,
mov_intmora, mov_cont, mov_lkcont, mov_usu, mov_hora, mov_status,
mov_tipopago, mov_fchcorte, mov_folref, mov_posant, mov_fch_intmora,
mov_adicional, mov_ndiasadi) VALUES ('',14 ,( 'RE3' || 'E' || '-' ||
LPAD(cast(nextval('re2' ||'_'||'E')as varchar),'5','0')), 'C', '2010-10-13',
'', 'EGALLEGOS',20.18, 20.18, 0, 0,0,0, 'EGALLEGOS', '10:10','A', 'n',
'1900-01-01', '', 'I','1900-01-01',0,0);

COMMIT;

pero tengo el siguiente problema, aunque la transaccion se aborte como
quiera me incrementa el valor de mi secuencia, y como el folio lo formo con
la secuencia, pues relativamente se esta comiendo un folio, no inserta los
datos en las tablas pero si se incrementa el valor de la secuencia, podrias
o podrian decirme donde esta el error?, acaso estoy utilizando mal la
secuecia?

es de verdad urgente de antemano gracias por la ayuda.

saludos!!!

<!--[if !vml]-->

--
L.S.C. Lorena Gpe. M. Osorio

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-10-13 20:28:43 Re: Manejo de secuencias dentro de transacciones
Previous Message Milton Labanda 2010-10-13 18:01:25 Sobre acceso remoto a pg desde phppgadmin