我现在使用Postgresql,习惯了Mysql。。。我正在寻找为变量设置值的替代方法。
我发现区别是"@",在Postgresql中,我们必须调用一个函数来为变量设置值。我测试了这个:
SET SESSION "variable_session.top" = value;
SELECT current_setting('variable_session.top') AS "myvariable";
但当我试图对这个变量进行伪装时,我得到了一个错误:
select column from table where variable2 :myvariable;
语法错误":"。。。
你能帮我吗?
谢谢。。
注意:我知道在cmd行中,我们可以使用\set myvariable值,但这是一个脚本,而不是一个简单的命令行
替代方案是:
set session.myvariable = value;
那么你可以这样做:
select * from table where column = current_setting(session.myvariable);
您可能需要指定变量的类型,如下所示:
select * from table where column = current_setting(session.myvariable)::integer;