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. |