PDA

Ver la Versión Completa : Variables en un query


Angel.Matilla
24-06-2022, 10:53:00
Buenos días. Hace ya tiempo me explicasteis como definir variables en un query (https://www.clubdelphi.com/foros/showthread.php?t=93926); era algo que en ese momento desconocía totalmente. Me surge ahora una una duda: Dentro de una de esas variables ¿se puede llamar a otra también definida en el query?

Me explico: Tengo en un query esta definición:
RDB$SET_CONTEXT('USER_TRANSACTION', 'HABITANTES', (SELECT Padron FROM HisElec WHERE CodPrv = A.CodPrv AND Municipio = A.Codigo AND Proceso = (SELECT MAX(Codigo) FROM Elecciones WHERE CodPrv = A.CodPrv)))
y ese SELECT MAX(Codigo)... se usa en varios puntos del mismo query. Me gustarías aber si se podría hacer algo así:
RDB$SET_CONTEXT('USER_TRANSACTION', 'PROCESO', (SELECT MAX(Codigo) FROM Elecciones WHERE CodPrv = A.CodPrv))
RDB$SET_CONTEXT('USER_TRANSACTION', 'HABITANTES', (SELECT Padron FROM HisElec WHERE CodPrv = A.CodPrv AND Municipio = A.Codigo AND Proceso = RDB$GET_CONTEXT('USER_TRANSACTION', 'PROCESO'))

Casimiro Notevi
24-06-2022, 11:19:08
No lo recuerdo bien, pero creo haberlo usado alguna vez hace años.
Lo que sí recuerdo es que debía de poner las llamadas con QuotedStr siempre, pero ahora no recuerdo el motivo:

select RDB$_GET_CONTEXT('+QuotedStr('SYSTEM')+ ...

Angel.Matilla
24-06-2022, 11:32:17
Gracias por la respuesta. Es evidente que mientras esperaba que alguno me contestara he estado haciendo pruebas y, sí se puede sin mayor problema como preguntaba yo al principio y no me ha hecho falta usar QuotedStr.

Casimiro Notevi
24-06-2022, 11:35:05
^\||/^\||/^\||/