我想为 firebird 的 sql 代码中使用的变量赋值。MySQL 代码将是:
SET @x = 1;
SELECT @x;
对应的火鸟代码是什么?
感谢帮助。
要在 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.) 内部变量值与数据类型一起存储,VARCHAR(255)
因此转换为VARCHAR(255)
!!
3.) 最大变量数为 1000。
4.) 你不需要参考rdb$database
:
select rdb$get_context('USER_SESSION', 'x') from some_table_name
也可以。
我不是火鸟方面的专家,但我相信它会是这样的......
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 ; ^