Mysql 中 'set @myvariable = value' for Postgresql 的替代方案



我现在使用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;

最新更新