Firebird:使用全局变量

时间:2013-03-21 22:09:57

标签: sql firebird

我想为firebird中的sql代码中使用的变量赋值。 MySQL代码将是:

SET @x = 1;
SELECT @x;

通讯员Firebird-Code是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

要在Firebird中定义用户定义的特定于会话的变量,您可以使用rdb$set_context

您的MySql示例的通讯Firbird代码将是:

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

也可以。

答案 1 :(得分:3)

我不是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 ; ^