FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Inserción masiva condicionada
Hola a tod@s.
En un hilo anterior sobre este tema, siguiendo los consejos de Casimiro, logré solucionar mis limitaciones. Por refrescar el tema, os diré que trabajo con Delphi 2010, Firebird 4 y SQL Manager Lite. Tengo que poner un espacio entre : y Campo, porque me salen caras En Firebird tengo la siguiente tabla:
Y el siguiente Procedimiento almacenado:
Y en Delphi tengo el siguiente procedimiento:
La primera inserción la hace bien, pero en la segunda me da el error: 'Attempt to execute an unprepared dynamic SQL statement' Agradeceré vuestra ayuda. |
#2
|
|||
|
|||
Perdonad, pero no he puesto qué es lo que pretendo.
Intento insertar registros en la tabla Charts, pero si existe el registro (todos los campos menos Id y Steps) que en lugar de una inerción se incremente el campo Steps del registro existente. Gracias. |
#3
|
||||
|
||||
Creo que el orden de comprobaciones es incorrecto.
Primero miras si hay que hacer commit. Si has hecho commit, el contador se voverá 0 y harás como si fuera la primera inserción. En tu código, perparabas la sentencia y luego si se trataba de la MaxTenokatesInserteds hacías commit, con lo que ya no está preparada.
|
#4
|
||||
|
||||
De todos modos, creo que lo mejor sería hacer Commit y no CommitRetaining.
Luego, si es la "primera", no tentiendo porqué haces un Rollback. Yo lo haría así, siempre y cuando la transacción no sea compartida por fTexting y otros DataSets.
|
#5
|
||||
|
||||
Aparte de lo indicado por duilioisola, también puedes simplificar el procedure usando "update or insert".
https://firebirdsql.org/refdocs/lang...or-insert.html
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Inserción masiva en Firebird | ElDuc | Conexión con bases de datos | 40 | 30-04-2023 11:38:06 |
insercion masiva | Alfredo | Firebird e Interbase | 3 | 12-11-2008 21:34:46 |
Insercion masiva de una BD a otra BD | oscjae | Firebird e Interbase | 5 | 15-12-2006 21:25:49 |
Insercion masiva de registros MUY LENTA | Balda | Firebird e Interbase | 10 | 24-03-2004 22:40:21 |
Inserción masiva en MySQL | Morfo | MySQL | 3 | 09-01-2004 19:05:33 |
|