Hola
Tengo una tabla de facturas a la que accede una aplicación desarollada por un consultor externo y ahora hace falta que
al realizar un update del número de factura de un cliente, todas las facturas de ese cliente se renumeren de forma
correlativa. Es decir, si cojo la factura 143 de un cliente y la renumero con el numero 5, todas las facturas
subsiguientes (144, 145, 146...) pasarían a ser 6, 7, 8
Como la aplicacion no se puede tocar para implementar esto (nos cobran un buen dinero y no estamos para alegrias) he
pensado hacer un Stored Procedure que cuando hagamos la renumeracion de una sola factura, se desencadene y renumere
todas las demás. He capturado el UPDATE que hace la aplicación con una TRAZA y el problema es que es un chorro como este:
exec sp_executesql N'UPDATE "FACTURACION".."FACTURAS_C" SET
"CODIGO_OFICINA"=@P1,"CODIGO_EMPRESA"=@P2,"NCLIENTE"=@P3,"NUMFAC"=@P4,"FECHA"=@P5,"CAPITAL"=@P6,"RESERVA"=@P7,"GASTOS_BANCO"=@P8,"PROV_SEGURO"=@P9,"BASE_IMP"=@P10,"IVA"=@P11,"TOT_FACTURA"=@P12,"INTERESES"=@P13,"TOT_IVA"=@P14,"TIPOFRA"=@P15,"CONTAB"=@P16,"Descripcion"=@P17
WHERE "IDFA"=@P18 AND "CODIGO_OFICINA"=@P19 AND "CODIGO_EMPRESA"=@P20 AND "NCLIENTE"=@P21 AND "NUMFAC"=@P22 AND
"FECHA"=@P23 AND "CAPITAL"=@P24 AND "RESERVA"=@P25 AND "GASTOS_BANCO"=@P26 AND "PROV_SEGURO"=@P27 AND "BASE_IMP"=@P28
AND "IVA"=@P29 AND "TOT_FACTURA"=@P30 AND "INTERESES"=@P31 AND "TOT_IVA"=@P32 AND "TIPOFRA"=@P33 AND "CONTAB" IS NULL
AND "Descripcion"=@P34',N'@P1 int,@P2 int,@P3 int,@P4 int,@P5 datetime,@P6 varchar(4),@P7 varchar(1),@P8 varchar(4),@P9
varchar(1),@P10 varchar(6),@P11 varchar(1),@P12 varchar(6),@P13 varchar(4),@P14 varchar(5),@P15 int,@P16 varchar(1),@P17
varchar(25),@P18 int,@P19 int,@P20 int,@P21 int,@P22 int,@P23 datetime,@P24 varchar(1),@P25 varchar(1),@P26
varchar(4),@P27 varchar(1),@P28 varchar(6),@P29 varchar(1),@P30 varchar(6),@P31 varchar(4),@P32 varchar(5),@P33 int,@P34
varchar(25)',0,124,6551,7,'2009-01-05 00:00:00:000','0,00','0','0,00','0','679,22','7','726,77','0,00','47,55',2,'
','Entrega a cuenta',4961,0,124,6551,1301,'2009-01-05
00:00:00:000','0','0','0,00','0','679,22','7','726,77','0,00','47,55',2,'Entrega a cuenta'
Sinceramente, no sé ni por donde cogerlo. Tengo algunas cuestiones:
¿cómo identifico que se está haciendo un update del numero de factura y no otra cosa?
¿cómo hago que el SP se desencadene sólo ante esa condición (update del número de factura)?
¿cómo hago un update correlativo de un campo?(UPDATE N_factura+1 no me ha funcionado)
gracias
Leer las respuestas