Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| [Sintaxis] Cursor SQL sobre tablas de nombres variables | Nino | PowerCOBOL (ActiveX, v4 - v11) | 4 | 14 de abril de 2021 23:20 |
| [Sintaxis] Sql Embebido condición where | Hrmcobol | PowerCOBOL (ActiveX, v4 - v11) | 3 | 25 de abril de 2020 21:43 |
| [Sintaxis] Sql Embebido | Hrmcobol | PowerCOBOL (ActiveX, v4 - v11) | 23 | 28 de junio de 2017 01:09 |
| [PowerCOBOL] Ejemplo PWC y SQL Embebido | Josber | Cocina PowerCOBOL | 10 | 15 de junio de 2017 03:17 |
| [Sintaxis] Variables en programa con SQL embebido | DYANY | IBM Enterprise COBOL | 1 | 20 de diciembre de 2016 16:26 |
![]() |
|
Forero
![]()
|
Hola tengo esta sentencia sql probada en phpadmin ahora lo quiero pasar a un programa en power con sql embebido pero no me funciona alguna ayuda, gracias
Codigo en php admin Código PHP:
en power Código COBOL:
cargo. ..... |
||||||||
|
|
|
|
Administrador
![]()
|
drvedia1981, danos más datos. ¿Qué error te da exactamente?
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Forero
![]()
|
Hola KUK, el cursor no me devuelve nada o algo pongo mal, el resultado de la sentencia da 0 el sqlstate creo que eso esta bien, estoy trabajando con esta base pero no recuperando datos de esta forma que puede ser gracias es algo urgente!!!.
Esto me devuelve el phpadmin Código:
01 47 02 18 03 34 04 55 06 59 07 31 08 18 |
||||||||
|
|
|
|
Administrador
![]()
|
Me parece muy raro que no se pueda hacer cursores con COUNT(). Habéis probado con COUNT(*) ?
drvedia1981, puedes hacer algo así: Código COBOL:
NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Moderador Global
![]()
|
drvedia1981,
A ver una cosa, no me había dado cuenta pero ... es ilógico usar un COUNT con un DECLARE CURSOR, los cursores, se utilizan para un FETCH, (un READ NEXT en COBOL), y un SELECT COUNT, no se puede utilizar con un FETCH, por lo menos hasta donde yo sé, donde yo lo he probado y no funciona, es en un PREPARE. ¿Qué es lo que quieres hacer exactamente?, a ver si es que lo estás haciendo mal y podemos ayudarte. Kuk, No he probado a hacer un SELECT COUNT(*), porque no es lógico, sobre todo por hacer el COUNT más rápido y no sobrecargar la BD haciéndole contar todas las columnas, imagínate una tabla con 50.000 registros y 40 columnas, por ejemplo, pero lo pruebo y digo algo. Un saludo.- |
||||||||
|
|
|
|
Administrador
![]()
|
Josber, lo decía por si había un bug en el parser de sintaxis.
Y en cuanto a lo de usar COUNT() en un cursor, no es frecuente pero puede haber necesidad. Y DB2, que es lo que más he usado, lo permite: IBM MAINFRAME: Db2 query to fetch duplicate rows NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
|
Moderador Global
![]()
|
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:
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. 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.- |
||||||||
|
|
|
|
Administrador
![]()
|
Josber, según entiendo, lo que tiene es una tabla con campos:
Donde CAJA no es único y puede haber varios registros. Para los resultados de phpMyAdmin: Código:
01 47 02 18 03 34 04 55 06 59 07 31 08 18 ¿Cómo lo harías tú? Lo mismo no es la mejor manera como lo está haciendo, pero yo en este caso le veo sentido al COUNT(). Porque el cursor no es otra cosa que crear una tabla temporal basada en tu SELECT que vas recorreidno. NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro. ![]() ¿Te han ayudado? NO TE OLVIDES de darle a ![]() ¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick |
||||||||
|
|
|
![]() |
| Herramientas | |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||