【问题标题】:Set a variable in Postgres在 Postgres 中设置变量
【发布时间】:2020-06-04 17:02:54
【问题描述】:

我想在一个函数中设置搜索路径,必须从另一个表中选择要设置搜索路径的架构名称。我想做类似的事情:

set search_path to (select db_schema_name from Schenma_Name_Table  where lookup_id = 'xxxx')

此语法不起作用。它说 - “(”或附近的语法错误。

【问题讨论】:

    标签: postgresql schema search-path


    【解决方案1】:

    set 不能使用动态表达式,但您可以使用接受任何表达式的set_config()

    select set_config('search_path', (select string_agg(db_schema_name, ',')
                                      from some_table 
                                      where lookup_id = 'xxxx'), false);
    

    请注意,我使用string_agg() 以防查询返回多个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      相关资源
      最近更新 更多