基本上我想从Postgres的SQL文件中执行一个SQL文件。
类似的问题:mysql:is it possible to call a sql script from a stored procedure in another sql script?
为什么呢?
因为项目中有2个数据文件,我希望有一行可以加注第二个文件进行注释/取消注释。
澄清: 我想从A.SQL
调用B.SQLClarification2: 这是一个Spring项目,它使用hibernate从初始SQL文件(A.SQL)创建数据库。
进一步反思似乎我可能要从java / string / hibernate处理这个问题。
以下是配置文件:
spring.datasource.url=jdbc:postgresql://localhost:5432/dbname
spring.datasource.username=postgres
spring.datasource.password=root
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.data=classpath:db/migration/postgres/data.sql
spring.jpa.hibernate.ddl-auto=create
答案 0 :(得分:2)
Sql不支持导入其他文件,但如果使用psql执行脚本,可以使用np.diag(myM)
array([4, 4, 4], dtype=object)
语法:
\i
如果您使用除SELECT * FROM table_1;
\i other_script.sql
SELECT * FROM table_2;
以外的其他客户端执行sql,这可能不起作用。
答案 1 :(得分:1)
Hibernate只是:
--
,//
或/*
开头的行;
(请参阅SchemaExport.importScript
和SingleLineSqlCommandExtractor
)
此处不支持包含。
你能做什么:
ImportSqlCommandExtractor
知道如何包含文件 - 您可以使用hibernate.hbm2ddl.import_files_sql_extractor=(fully qualified class name)
hibernate.hbm2ddl.import_files=prefix.sql,optional.sql,postfix.sql
将可选文件定义为附加导入文件,您可以根据需要添加和删除文件引用,也可以从工件中排除文件 - 丢失的文件只会创建调试消息。Integrator
动态设置hibernate.hbm2ddl.import_files
属性 - 具体取决于某些环境属性