Ver Mensaje Individual
  #2  
Antiguo 08-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Abel.

Hasta donde sé Firebird no contempla variables globales.

Si usas una versión anterior a la 2.0 podés usar UDF's o crearte un procedimiento:
Código SQL [-]
CREATE PROCEDURE NUM_PI RETURNS(PI DOUBLE PRECISION) 
AS
BEGIN
  PI = 3.141592654;
END

A partir de la versión 2.0 tenes la opción de usar RDB$SET_CONTEXT y RDB$GET_CONTEXT:
Código SQL [-]
CREATE PROCEDURE NUM_PI
AS
BEGIN
  RDB$SET_CONTEXT('USER_TRANSACTION', 'NUM_PI', 3.141592654);
END;

Luego de ejecutar el procedimiento,
Código SQL [-]
  EXECUTE PROCEDURE NUM_PI;
podés usarlo hasta en un SELECT, como por ejemplo:
Código SQL [-]
SELECT RDB$GET_CONTEXT('USER_TRANSACTION','NUM_PI') FROM RDB$DATABASE;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita