我有一个包含用于创建数据库的SQL命令的文件。
我还有一组单独的文件,每个文件都包含用于创建函数的SQL命令。例如:
让我说我的主要SQLscript看起来像这样:
CREATE DATABASE mydb;
CREATE TABLE foo(id INT, name VARCHAR(32));
CREATE TABLE foobar(id INT, age REAL);
-- Commands below to import the functions in the separate files
-- funcs_algebra.sql
-- funcs_trigonometry.sql
-- funcs_geometry.sql
我想知道如何在'main SQL'中包含这些文件,这样我只有一个文件可以传递给psql。
目标是只需将psql中的命令传递给psql,就可以使用psql创建数据库(包括函数)。
任何人都知道怎么做?
[编辑]
我可能应该说出我认为很明显的东西。我想在SEPARATE文件中保留与函数相关的SQL,以便我只有一个要修改的源。这是我分区逻辑和保持事物DRY的一种方式。
函数定义用于创建其他模板数据库 - 所以我想将它们保存在单独的文件中,但是引用我的SQL脚本中的文件。
我能想到的唯一另一种方法是编写一个bash脚本,对psql进行连续调用 - 首先创建数据库,然后添加函数 - 不是很优雅,而且不是很干。还有另一种(更优雅)的方式吗?
答案 0 :(得分:2)
你可以写:
\i funcs_algebra.sql
在主SQL脚本中包含额外的函数脚本。