【发布时间】:2021-02-25 21:58:58
【问题描述】:
我有一个 sql 脚本,我在其中创建应用程序中使用的所有序列,如下所示。对于不同的服务器,这些值会有所不同。 我不想给出这些硬编码的值,而是想在一些配置文件中指定这些值 有没有办法可以从我的 sql 脚本中的配置文件中读取所有这些值
创建序列 tbl1_tbl1id_seq AS INT START WITH 1 INCREMENT BY 2 MAXVALUE 50000;
创建序列 tbl2_tb21id_seq AS INT START WITH 1 INCREMENT BY 2 MAXVALUE 50000;
创建序列 tbl3_tbl3id_seq AS INT START WITH 1 INCREMENT BY 2 MAXVALUE 50000;
【问题讨论】:
-
抱歉,我需要更多详细信息 - 哪个 DBMS?微软 SQL?甲骨文? MySQL?怎么调用每台服务器上的sql脚本文件?
-
Postgres。此脚本将创建序列,删除表(如果存在)并创建所有表。此 sql 脚本将以 sudo 用户身份在每台服务器上运行。
-
sudo 用户的意思是,你在 linux 上工作。所以我看到了不同的解决方案的可能性:a)如果 Postgres 具有类似 Microsoft SQL 的功能,您可以在 SQL 和 IF 等中编码所有配置值。调用正确的 SQL 命令和/或将 SQL 变量设置为正确的值,有脚本变量以及b)在控制台中调用命令以执行sql之前,以某种方式使用其他linux命令(例如sed)和配置文件创建/修改它。那么这不是SQL问题c)更多的可能性.. .
-
我可以这样做,如下所示,发布我的答案。
标签: sql sequence multi-master-replication