![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
|
Usando variables
Hace tiempo me resolvisteis una duda que tenía sobre como usar variables en un query. Me hace falta volver a usar esa metodología.
Tengo esta tabla: ![]() y sobre la misma ejecuto este query: y el resultado que me da es este: ![]() La realidad es que debería darme sólo la segunda línea. ¿Por qué me da dos filas en vez de una sola? Y es que el problema viene porque si trato de usar esa variable en el query en el que de verdad me hace falta: Me hace esto ![]() Que, evidentemente, no es lo que busco porque no me devuelve el valor de la variable definida. Aunque, curiosamente, el CASE del query sí va por el lado adecuado. No lo entiendo. Última edición por Angel.Matilla fecha: 10-04-2026 a las 12:22:14. |
|
#2
|
||||
|
||||
|
El problema es que estás usando RDB$SET_CONTEXT dentro de un SELECT que devuelve varias filas, por lo que la función se ejecuta una vez por cada fila.
En Firebird estas funciones no son “variables globales” sino que se evalúan por fila. Si quieres que se ejecute una sola vez, usa FROM RDB$DATABASE, o mejor aún, evita SET_CONTEXT y usa una subconsulta o CTE. Te copio respuesta del primo chatgpt: ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Muchas gracias por las sugerencias. La que pones como opción 2 es la que estaba usando, pero me hace falta reutilizar el valor.
Sin embargo al probar la tercera opción que me das me genera un error: Cita:
Última edición por Angel.Matilla fecha: 10-04-2026 a las 17:48:09. |
|
#4
|
||||
|
||||
|
Y la opción 1 efectivamente devuelve un única fila, pero con todos los valores a cero.
|
|
#5
|
||||
|
||||
|
¿Será así?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Así es como lo tenía. Tendré que ver como apaño el resultado para usarlo. No sé si no estaré dando vueltas sin sentido. Gracias.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Rotulos de columnas usando variables | HenryAraniva | MS SQL Server | 3 | 06-09-2008 00:04:37 |
| variables variables (manual php) | salvica | PHP | 0 | 25-09-2005 16:44:52 |
| variables | Chupi | API de Windows | 1 | 24-12-2004 11:21:26 |
| here en sql con variables | rolando_s | Conexión con bases de datos | 3 | 16-12-2004 22:43:03 |
|