Ver Mensaje Individual
  #1
Antiguo 10 de abril de 2021, 02:16
Nino
Forero Junior
Última Actividad 23.11.2021 12:46
Posts Posts: 6
Likes enviados Enviados: 3
Likes recibidos Recibidos: 9
Base de datos Cursor SQL sobre tablas de nombres variables
0 Inactivo Inactivo

Hola apreciados colegas.
Necesito realizar un cursor SQL que realice una consulta sobre tablas que tienen nombres distintos pero igual estructura de datos (mismas columnas).
Es el típico proceso de datos almacenados en tablas de uso mensual (liquidaciones por ejemplo), respecto de las cuales necesito realizar una búsqueda según cierta lógica de control.
En cobol basta con asignar el nombre al archivo definido en la select:
Código COBOL:
  1.            SELECT OPTIONAL LIQSUE ASSIGN TO IDF-LIQSUE
...
Y , en el perform antes de abrir el archivo se le asigna un nombre según la lógica requerida,por ejemplo:
Código COBOL:
  1.      PERFORM VARYING GLOBAL-ANO FROM 2015 BY 1 UNTIL GLOBAL-ANO > 2021
  2.       PERFORM VARYING GLOBAL-MES FROM 1 BY 1 UNTIL GLOBAL-MES > 12
  3.         MOVE SPACES TO IDF-LIQSUE
  4.         STRING GLOBAL-ANO GLOBAL-MES 'LiqSue' DELIMITED SIZE INTO IDF-LIQSUE *> el nombre del archivo o tabla sería -por ejemplo- "202103LiqSue"
  5.         OPEN INPUT LIQSUE
  6.         PERFORM PROCESA-CONSULTA *> Lógica asociada a la consulta
  7.         CLOSE LIQSUE
  8.       END-PERFORM
  9.      END-PERFORM

... Entonces, el cursor SQL que se requiere, debe procesar nombres de tablas dinámicos (variables) que se diferencian entre sí SÓLO POR EL NOMBRE pero, que contienen datos relativos al periodo de proceso hurgado.

He probado creando las consultas en campos de texto, usando el los comandos SQL embebidos PREPARE y EXECUTE más, sin éxito hasta ahora.

Saludos cordiales para todos y los mejores deseos de salud !!!
Atte. Nino.
PD: GRACIAAAAAAAAAAAAAAASSSSSS !!!!!!
Nino is offline   Responder Con Cita