【问题标题】:Pass parameters to postgres sql script and provide default values if they are not provided将参数传递给 postgres sql 脚本,如果未提供,则提供默认值
【发布时间】:2019-08-27 05:49:02
【问题描述】:

我有一个带有 create table 语句的 postgres sql 脚本。在此之前,它会尝试在同一脚本中使用 \c dbname 连接到数据库。我想将此 dbname 作为参数传递给此 sql 脚本。如果没有传递参数,则需要分配一个在脚本中声明的默认值。

我看到参数可以传递给 postgres sql 脚本,例如:psql -v dbname = testdb -h localhost -U postgres -a -f create_table.sql

变量可以在 postgres sql 文件中使用例如:dbname VARCHAR := "local_db"; 声明,但在如何检查参数是否传递以及如果未传递时分配默认值时遇到了麻烦。

知道如何实现这一目标吗?

【问题讨论】:

标签: sql postgresql psql sql-scripts


【解决方案1】:

您可以将变量传递给psql

psql -v 'var=value'

在脚本中,您可以将变量引用为:var。还有:'var':"var" 可以获取值的引用版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    相关资源
    最近更新 更多