当前位置: 首页 > 面试题库 >

可以从SQL脚本引用另一个SQL文件

幸鸿轩
2023-03-14
问题内容

基本上我想从Postgres中的SQL文件执行一个SQL文件。

mysql的类似问题:是否可以在另一个sql脚本中从存储过程调用sql脚本?]

为什么?

因为我在一个项目中有2个数据文件,并且我希望有一行可以被注释/取消注释,所以可以加载第二个文件。

澄清: 我想从A.SQL调用B.SQL

说明2: 这是针对使用hibernate模式从初始SQL文件(A.SQL)创建数据库的Spring项目。

经过进一步的思考,看来我可能必须从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

问题答案:

hibernate只是:

  1. 每行读取所有SQL文件
  2. 剥去任何评论(开始的行--///*
  3. 删除任何;在端
  4. 将结果作为单个语句执行

(请参阅SchemaExport.importScriptSingleLineSqlCommandExtractor

这里不支持包含。

你可以做什么:

  • 定义自己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动态设置属性的,具体取决于某些环境属性


 类似资料:
  • 问题内容: 我想用。像这样从存储的过程中调用sql脚本… 我收到“无法打开’test.sql;’的消息” 我以这种方式运行时出错。我也尝试过!但随后出现权限被拒绝错误。但是,我无法消除;; 或整个事情坏了。有没有解决的办法? 我究竟做错了什么? 问题答案: mysql客户端内置了一组命令。它们记录在“ 命令 ” 下。这些包括DELIMITER,SOURCE,HELP,CONNECT,USE,QUI

  • 问题内容: 假设我编写了创建表ABC的脚本Table_ABC.sql。我为每个必需的表创建了许多这样的脚本。现在,我想编写一个脚本,该脚本按顺序调用所有这些脚本文件,因此基本上我想要另一个脚本文件createTables.sql。Mysql提供了从“ mysql” shell应用程序执行脚本文件的选项,但可以找到一些命令,例如 exec c:/myscripts/mytable.sql 。请告诉我

  • 我使用OpenAPI3.0记录了一个API列表,并为每个API编写了一个单独的YAML文件。

  • 问题内容: 我正在尝试在Jmeter SetUp线程中运行几个SQL脚本。是否可以通过Jmeter从.SQL文件运行SQL代码,以便我可以在执行其他线程之前初始化数据库。我只是不想破坏我的代码,并使用JDBC连接和JDBC请求在Jmeter中复制/粘贴代码。谢谢! 问题答案: __FileToString()函数似乎是您要找的东西,您可以将其放入JDBC Request 采样器中,并在其中指定.s

  • 本文向大家介绍Shell脚本中引用、调用另一个脚本文件的2种方法,包括了Shell脚本中引用、调用另一个脚本文件的2种方法的使用技巧和注意事项,需要的朋友参考一下 在Java,Python中,可以用import的方式来进行脚本或模块之间调用,例如: 在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh      方法二:   so

  • 我想创建一个动态表,从静态表中提取第5列,并将其乘以一个值字段。 1.静态表 2.动态表 在excel中,我只需要对它旁边的单元格进行计时。但是我希望sql在每次上传新的静态文件时创建/更新数据库。 ok更新 查看后,我需要一些不同的东西,我需要采取两个表,并将它们相互累加一个表将是和其他在 帐户;渠道;[产品代码](这是我的P.key);1月;2月;标记;APR;五月;君;七月;8月;9月;OC