RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  54146 - DELETE FROM TABLA_DINAMICA WHERE CURRENT OF CURSOR
Autor:  Ignacio Fatou Castro
Hola estoy trabajando en C y tengo una duda.
Actualmente estoy recorriendo un cursor que he creado de forma dinámica, y necesitaría borrar uno a uno los registros del cursos tal y como se van leyendo. El problema concretamente es que lo del CURRENT OF Cursor funciona cuando pongo el nombre de la tabla, pero cuando el nombre de la tabla tengo que asignarla en código no funciona.

Ejemplo del cursor:
-------------------------------------------
sprintf(lszQuery,"SELECT * FROM %s",lszTabla);
EXEC SQL
PREPARE CursorDinTab FROM :lszQuery;
EXEC SQL
DECLARE CursorDin CURSOR FOR CursorDinTab;
EXEC SQL
OPEN CursorDin;
----------------------------------------------

Declaro El Cursor de borrado

sprintf(lszDelete,"DELETE FROM %s WHERE CURRENT OF CursorDin",lszTabla);
EXEC SQL
PREPARE CursorDelete FROM :lszDelete;

Es aquí donde me fallaría y no estoy seguro de que es lo que estoy haciendo mal.

No se si hay otra manera de ir borrando uno a uno los datos de una tabla cuyo nombre desconozco.

Un saludo y gracias por vuestro tiempo.


Nombre
Apellidos
Correo
Comentarios