![]() |
Como hacer un commit dentro de un procedimiento almacenado
Ante todo buenas tardes.
Mi problema es el siguiente: Tengo un procedimiento almacenado en el cual creo una Factura, el identificador de factura se lo paso a otro procedimiento almacenado para que me cree el recibo correspondiente, pero en éste procedimiento cuando hago un Select con el identificador pasado a la tabla de facturas no me encuentra nada porque aún la factura no existe. ¿Como puedo hacer para pegar la factura antes de intentar crear los recibos? No sé si mi habré explicado bien (espero que sí) Gracias |
Hola:
Antes de pasar ese valor, haces un insert con todos los datos de la factura y luego pasas ese parámetro al otro procedimiento, los commit conviene controlarlos desde la aplicación. Hasta Luego - |
Gracias Lucas por responder.
Eso es exactamente lo que hago, primero el insert de la factura y después llamo al otro procedimiento. Todo lo hago en un procedimiento almacenado para no hacer tantas llamadas a la base de datos. Te voy a poner un trozo de código para que lo veas: Código:
Insert into FAC_CLI (ID_FAC_CLI, NFACTURA, FECHA, ID_CLI, Código:
execute procedure PasarRecibos :sId, :eEmpresa; Código:
Select FAC_CLI.IMPORTE, FAC_CLI.FECHA, REC_CLI.DIA_PAGO_MES, Código:
inner join FOR_PAG on Código:
inner join Código:
where Código:
into :vIMPORTE, :vFECHA, :vDIA_PAGO_MES, :vID_BAN_CLI, Código:
If (NRECIBO = 1) then begin Si me pueden ayudar, gracias. |
Cita:
Revisa bien la consulta. Te recomiendo que llenes algunos datos en las tablas y juegues con los SQL, en defitiva debes armar bien la consulta Hasta Luego - |
Gracias por responder.
La consulta está bien, porque está probada y demás. Intentaré explicarme un poco mejor. Creo que cuando hago esa consulta no está pegado todavía el insert que se hizo anteriormente, o se hace automáticamente cuando están en procedimientos almacenados? Por eso la pregunta de como hacer un commit dentro de un procedimiento almacenado (pegarlo físicamente para que la consulta me encuentre algo). No sé si me explico, espero que sí y también espero que me echeis un cable, plis. Gracias |
Hasta luego. ;) |
Gracias por responder.
Seguiré mirandolo y ya os contaré. Mil gracias. |
La franja horaria es GMT +2. Ahora son las 06:37:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi