我想为firebird中的sql代码中使用的变量赋值。 MySQL代码将是:
SET @x = 1;
SELECT @x;
通讯员Firebird-Code是什么?
感谢您的帮助。
答案 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 ; ^