drvedia1981,
He estado haciendo pruebas y
SÍ se puede usar un
COUNT() en un
PREPARE, vamos a suponer que tienes una tabla que se llama ABREVIAS y tiene como campos:
ABRCOD varchar(3) UNIQUE
ABRNOM varchar(60)
la programación en PWC sería de ésta manera:
Código COBOL:
WORKING-STORAGE SECTION.
EXEC SQL
BEGIN DECLARE SECTION
END-EXEC.
01 WTEX PIC X(100).
01 CONTASQL PIC S9(5).
EXEC SQL
END DECLARE SECTION
END-EXEC.
.
.
.
.
PROCEDURE DIVISION.
INICIO.
*
MOVE "SELECT COUNT(ABRCOD) FROM ABREVIAS WHERE ABRCOD LIKE '%A%'" TO WTEX.
EXEC SQL
PREPARE CONSULTA FROM :WTEX
END-EXEC.
EXEC SQL
execute CONSULTA INTO :CONTASQL
END-EXEC.
Lo que ya no reconoce el SqlEmbebido es la instrucción
DEALLOCATE PREPARE ..., pero bueno, el resto funciona perfectamente, tanto poniendo un
* como el nombre de la variable en el
COUNT.
Citación del post de
Kuk
|
❞
Y en cuanto a lo de usar COUNT() en un cursor
|
No le veo la utilidad, si lo que quieres es contar los registros que cumplan unos parámetros, y SQL, te los cuenta sin tener que hacer un recorrido por la tabla con un
FETCH, el que se pueda usar, vale, pero el que sea útil ...
Un saludo.-