Buenas tardes amigos, nuevamente acudiendo a sus conocimientos para que me echen una mano en este asunto. El problema es el siguiente:
Tengo un cursor que obtengo de una tabla de firebird en un grid, en él el usuario debe seleccionar dando doble click sobre los ítems deseados una especie de agrupación que lo único que hace es colocarle 1 en un campo o columna llamado marca, hasta allí todo bien, el problema que tengo es que tengo un SP en firebird que graba un encabezado de factura y genera el ID de la transacción, pero lo que necesito es que inmediatamente después de grabar el encabezado me actualice algunos campos de la tabla de donde obtuve el cursor en el mismo Stored Procedure.
Dicho de otra forma
Tengo tabla TICKETS de despacho pueden ser varios y se deben relacionar con una factura (Tabla FAC_COMP
En fox con hacer un scan sobre el cursor resolvería el problema, pero necesito hacerlo en un SP de Firebird, primero grabar encabezado y luego actualizar los ítems seleccionados, pero no se como hacerlo, si alguien de ustedes ha hecho algo similar le agradecería su ayuda. Muchas gracias de antemano.
Hola Eric.
Tenés q tener 2 SP uno p actualizar la tabla Maestra y otro p actualizar la tabla de Items. Si la tabla de encabezado no es modificada, solo te quedas en tu programa con el Id Maestro, p actualizar la tabla Items. Yo lo q haría es borrar los registros en la tabla ítems relacionada con ID de la Maestro y con un Scan Endscan recorro los ítems y los grabo con el sp_GrabarItems.
Saludos.
Esteban.
No Eric.
Vos tenes q pasar registro x registro, no podes pasar un cursor completo a FB, a no ser q lo importes en txt q no es este el caso.
Lo q yo hago es abro una transacción, actualizo maestro de ser necesario, actualizo demás tablas y si todas las actualizaciones son correctas hago commit cerrando la transacción.
Gracias Esteban y Victor Hugo, con sus comentarios ya me hice una idea más amplia y le daré la mejor solución, agradezco en gran manera su ayuda. Saludos
Antonio, es por eso mi pregunta, pues al hacer todo el procedimiento en un Sp no pasaría lo de grabar sólo el encabezado, con respecto a porque un Sp? sacame de la duda es más rápido? es más seguro?, pues de otra forma lo haré programando el insertar y los updates en el cliente, gracias por tus comentarios
Gracias Víctor Hugo, si que me has regalado de tu tiempo, por lo que veo en los ejemplos que amablemente me has enviado, la única forma de indicarle al servidor cuales items deseo actualizar es por medio del string, no existe la forma de que fuera como un cursor. Te agradezco muchísimo amigo los ejemplos, voy a probar a ver que pasa. Saludos