Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Variables en un query (https://www.clubdelphi.com/foros/showthread.php?t=95737)

Angel.Matilla 24-06-2022 10:53:00

Variables en un query
 
Buenos días. Hace ya tiempo me explicasteis como definir variables en un query; 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:
Código SQL [-]
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í:
Código SQL [-]
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

^\||/^\||/^\||/


La franja horaria es GMT +2. Ahora son las 15:17:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi