Я хотел бы присвоить значение переменной, которая используется в коде sql в firebird. MySQL-Code будет:Firebird: Использование глобальной переменной
SET @x = 1;
SELECT @x;
Что является корреспондентом Firbird-Code?
Спасибо за помощь.
Я хотел бы присвоить значение переменной, которая используется в коде sql в firebird. MySQL-Code будет:Firebird: Использование глобальной переменной
SET @x = 1;
SELECT @x;
Что является корреспондентом Firbird-Code?
Спасибо за помощь.
Я не эксперт в Firebird, но я считаю, что это будет что-то вроде этого ...
set term^;
EXECUTE BLOCK
AS
DECLARE VARIABLE x int;
BEGIN
x = 1;
--do whatever you want with x, there's no such thing
--as to select the variable value to print it
END
^
set term ;^
Чтобы определить пользовательскую переменную сеансовой в Firebird вы можете использовать rdb$set_context.
корреспондент Firbird-код для MySql-примера будет:
select rdb$set_context('USER_SESSION', 'x', 1) from rdb$database
select rdb$get_context('USER_SESSION', 'x') from rdb$database
Примечания:
1.) Имейте в виду, что имена переменных чувствительны к регистру.
2.) Внутренне изменяемые значения: stored with datatype VARCHAR(255)
и таким образом литые до VARCHAR(255)
!!
3.) Максимальное количество переменных 1000.
4.) Вам не нужно обращаться к rdb$database
:
select rdb$get_context('USER_SESSION', 'x') from some_table_name
будет работать.