【问题标题】:Placeholder in PostgreSQL sql filePostgreSQL sql 文件中的占位符
【发布时间】:2018-07-23 23:04:11
【问题描述】:

我有多个以相同方式创建的表(相同的列、索引等) 我想要一个 sql 文件来创建它们,而无需重复创建语句。

有没有办法在 sql 文件中使用某种占位符,在执行带有参数的 sql 文件时会被替换?

例如我想有下面的sql语句:

drop table if exists schema.%PLACEHOLDER%;
create table schema.%PLACEHOLDER%(id text, data text);

然后执行这样的脚本:

psql -f mysqlfile.sql -magic_parameter my_desired_table_name

这在执行 PostgreSQL sql 文件时是否可能,或者可能以其他方式实现相同的效果(使用 sed 除外)?

【问题讨论】:

标签: postgresql


【解决方案1】:

你使用的是psql,你可以使用如下变量:

drop table if exists schema.:placeholder;

调用是:

psql -f mysqlfile.sql -v placeholder=table_name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-22
    • 2013-11-27
    • 1970-01-01
    • 2019-03-25
    • 2021-04-03
    • 2019-10-19
    • 2019-07-25
    • 2020-11-16
    相关资源
    最近更新 更多