我想为 firebird 中的 sql 代码中使用的变量分配一个值。MySQL 代码为:
SET @x = 1;
SELECT @x;
Run Code Online (Sandbox Code Playgroud)
对应的 Firebird 代码是什么?
感谢帮助。
要在 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
Run Code Online (Sandbox Code Playgroud)
笔记:
1.) 请注意变量名称区分大小写。
2.) 内部变量值与数据类型一起存储VARCHAR(255),因此转换为VARCHAR(255)!!
3.) 变量的最大数量为 1000。
4.) 您不需要参考rdb$database:
select rdb$get_context('USER_SESSION', 'x') from some_table_name
Run Code Online (Sandbox Code Playgroud)
也可以。