具有多个分隔符的 sql-maven-plugin

2023-12-13

我正在使用 sql-maven-plugin 在多个数据库上执行一些 MySQL 脚本。 我想在同一个 SQL 脚本中部署表、数据、触发器、事件和存储过程。

我的行分隔符有问题,因为对于 INSERT 或 CREATE 我使用;,但对于我的触发器,我必须更改分隔符DELIMITER //, 例如。

我知道该插件允许更改分隔符,但它将适用于所有脚本,我只想更改唯一脚本的一部分的分隔符。

这是我的 Maven 配置:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sql-maven-plugin</artifactId>
    <version>1.5</version>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
    </dependencies>
    <configuration>
        <driver>com.mysql.jdbc.Driver</driver>
        <username>${db.user}</username>
        <password>${db.passwd}</password>
        <encoding>UTF-8</encoding>
        <orderFile>ascending</orderFile>
        <keepFormat>true</keepFormat>
        <driverProperties>characterEncoding=utf8,
                          connectionCollation=utf8_general_ci,
                          sql_mode=STRICT_TRANS_TABLES</driverProperties>
    </configuration>
    <executions>
        <execution>
            <id>execution-mysql</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>execute</goal>
            </goals>
            <configuration>
                <url>jdbc:mysql://${db.url}:${db.port}</url
                <delimiterType>normal</delimiterType>
                <fileset>
                    <basedir>${project.build.directory}/sql/</basedir>
                    <includes>
                        <include>${file.sql}</include>
                    </includes>
                </fileset>
            </configuration>
        </execution>
     </executions>
</plugin>

您可以在配置块中将 delimeterType 设置为“row”。

<configuration>
...
   <delimiterType>row</delimiterType>
...
</configuration>

分隔符类型

正常意味着任何分隔符的出现都会终止 SQL 命令而对于 row,只有包含分隔符的行是 被识别为命令的结束。

更多信息请访问http://mojo.codehaus.org/sql-maven-plugin/execute-mojo.html#delimiterType


例如:create-proc.sql

CREATE PROCEDURE ADD_BOOK (IN title VARCHAR(100))
BEGIN
   -- your sql code 
   INSERT INTO Book (title) VALUES (title);
END
; -- this means the end of the sql command
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个分隔符的 sql-maven-plugin 的相关文章

  • 从另一台计算机访问 MYSQL

    我想开发一个java桌面应用程序 我想在其中设置服务器 这意味着我在这里使用mysql db 该数据库将仅存储在一台电脑上 其余所有用户都可以访问该数据库 所以 我听说了mysql远程连接 其中尝试了一些事情 这些措施如下 我的电脑已连接w
  • 如何在 MySQL 中求和时间?

    正如您在图片中看到的 我有一份停机报告 显示了所选工厂在选定日期的停机时间 现在我想添加所有的值 Time Duration 列并将其显示在附近的单独显示中 TOTAL TIME DURATION 例如 在图像中 所选日期为 2015 年
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • 如何解决多模块项目中模块之间的依赖关系?

    使用 Maven 一段时间后 我对 Maven 为构建架构带来的许多功能感到兴奋 特别是依赖管理 然而 我一次又一次地遇到一个问题 Maven 如何解决多模块项目之间的依赖关系 我想知道这是否是当前 Maven 实现的大缺陷和 或是否有任何
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • maven默认过滤器目录的好处[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我发现了maven资源过滤并在文档中看到了一条注释 标准目录布局src main filters 资源过滤器文件 我注意到maven不搜索声
  • NetBeans IDE maven项目无法解决依赖关系

    使用 eclipse 多年后 我正在将自己移植到 NetBeans IDE 我正在打开现有的 Maven 项目 一切似乎都正常 但是当我尝试构建该项目时 它会抛出错误 提示 无法解析项目的依赖项 尽管 JAR 文件存在于我的 m2 目录中
  • 错误代码:1305。函数或过程不存在

    因此 我在 MySQL 中创建一个函数 然后尝试向用户授予使用该函数的权限 但我无法这样做 这就是我正在做的 DELIMITER USE rxhelp36 scbn DROP FUNCTION IF EXISTS businessDayDi
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • MySQL 排序顺序 - 排序规则?

    我在对 MySQL 中的 char 字段进行排序时遇到困难 问题是重音字符与非重音字符混淆 例如 Abc bd Acc 我认为这可能与整理有关 所以我将表格的排序规则更改为utf8 ut8 bin 看完之后这个帖子 https stacko
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • Maven:无法传输文件 XXX 返回代码为: 501 ,ReasonPhrase:HTTPS 必需

    我在构建 Maven 项目时收到意外的 501 错误代码 该消息显示需要 HTTPS 但我没有更改我的 settings xml 如何检查我的配置是否发生更改 我怎样才能让事情正常运转 其原因解释于Maven 依赖项失败并出现 501 错误
  • 缺少依赖项 hive-builtins 会导致 Oozie 构建失败,错误代码为 410

    我尝试从源代码构建 oozie 但安装失败 我想安装 oozie 并热切地等待使用它 我在这个阶段失败了 当我从 oozie 3 3 3 目录给出 cmd 时 bin mkdistro sh DskipTests 我收到这个错误 INFO
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • 非 Spring 托管类中 DI 的编译时编织

    我想为标记为的类配置编译时编织 Configurable注释能够将 spring 依赖项注入到初始化的类中new操作员 我不想使用加载时编织 因为我无权访问应用程序服务器的运行脚本 因此无法修改它 另外 我希望能够在测试中使用此类 我的意思
  • 如何抑制/控制 Wagon-FTP Maven 扩展的日志记录?

    我正在通过 FTP 部署 Maven 站点 使用货车 FTP http maven apache org wagon wagon providers wagon ftp 工作正常 但输出充满了 FTP 连接 身份验证详细信息 这有效地向每个
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val

随机推荐

  • sql 将空值替换为其他列中的值

    我想将所有具有 NULL 值的值替换为同一行另一列中的值 我尝试过不同的sql语句 但没有成功 Regards 如果您想更新 请执行以下操作 update t set col1 col2 where col1 is null 如果您只想进行
  • 查询获取父记录和子记录,然后是mysql中的下一个父子记录

    我在以下格式的数据Names数据库中的表 ID Name ParentID 1 Parent 1 0 2 Parent 2 0 3 Parent 1 Child 1 1 4 Parent 2 Child 1 2 5 Parent 1 Chi
  • Google Maps API v2 ScrollView 内的 SupportMapFragment - 用户无法垂直滚动地图

    我试图将 Google 地图放入滚动视图中 以便用户可以向下滚动其他内容来查看地图 问题是这个滚动视图吞噬了所有垂直触摸事件 因此地图的 UI 体验变得非常奇怪 我知道在谷歌地图的V1中 您可以覆盖onTouch或setOnTouchLis
  • Dotty 无法推断采用抽象类型的类型参数特征的泛型 Scala 函数的结果类型

    简单的价值层次结构 想象一下这个简单的特征Value其中每个实现类都有一个value某种类型的T trait Value type T def value T 我们有两个不同的实现类代表Int and String值分别 case clas
  • “静态最终”直接分配到哪里?年轻一代、老一代还是烫发一代?

    静态最终 是否直接分配到年轻一代或老一代或永久一代 我想随着时间的推移 它很可能会进入旧代 如果它被分配在 Perm gen 中 那么当在 Perm Gen 中进行类卸载时 它会被垃圾收集吗 静态最终 是否直接分配到年轻一代或老一代或永久一
  • 使用 django.contrib.gis.measure.D 时出现 GeoDjango dwithin 错误

    首先 RHEL 6 5 上的 Python 2 7 6 Django 1 6 5 Postgres 9 3 4 PostGIS 2 1 3 psycopg2 2 5 3 这是相关模型 class Location models Model
  • 在 VB.Net 中将大数据表快速导出到 Excel 电子表格

    我这里有一个有趣的难题 如何快速 在 1 分钟内 将大型数据表 由 SQL 填充 35 000 行 导出到 Excel 电子表格中供用户使用 我有可以处理导出的代码 虽然代码本身没有任何 错误 但导出整个文件需要 4 分钟 速度慢得令人发指
  • 如何在npm中配置多个私有仓库和公共仓库?

    我想运行 npm install 并拥有多个存储库来获取依赖项 我想首先在公共 Nexus 上查找的逻辑 如果没有找到我的私人 Nexus 上的工件 I add npmrc为了这 registry https myRepo1 strict
  • 尝试在 ubuntu 上安装 pygame 出现错误

    我正在尝试使用 pip 安装 pygame 但每当我这样做时都会收到错误Command python setup py egg info failed with error code 1 in tmp pip build hZGMxh py
  • 如果程序集存在,C# 条件编译

    我有一个项目 其参考可能存在 也可能不存在 我有使用该引用的代码 并且仅当程序集存在时才编译它 我正在思考以下内容 if ASSEMBLY EXISTS AssemblyClass DoSomething endif 我可以在顶部放置 de
  • 如何生成具有精确矩的样本数据

    如何生成准确的数据 在 R 中我们可以选择使用rnorm从具有某些特征的总体中进行抽样 例如 平均值 0 标准差 1 但是我们如何获取数据exactly均值 0 标准差 1 这是一个简单的例子 我也对应用获取精确数据的更通用方法感兴趣 例如
  • Laravel 5:使用 csrf 强制验证 [GET] 请求

    默认情况下 Laravel 5 验证并匹配所有 POST 请求的 令牌 如何告诉 L5 也验证 GET PUT 和删除 请求 gt 阻止任何没有有效令牌的请求 thanks 您可以创建自己的中间件来处理它并替换默认的 Laravel ver
  • AngularJs错误无法读取未定义的属性“then”

    这是模块 function app Module Description angular module app 我有这个服务 function use strict angular module app factory homeservic
  • 在 C# 中使用 Windows 应用程序执行 http 方法

    有许多网站在表单提交时调用脚本并使用 HTTP POST 或 GET 传递参数 使用 Web 调试器我发现正在传递的参数 现在我希望通过我的 C Windows 应用程序做同样的事情 我怎样才能实现这样的功能 我目前正在 C 中使用 Htt
  • ggplot2 生成的切片图

    我想知道是否可以将图形分别切片为使用 ggsave 生成 的 png 文件 如果我不想使用默认的图例或标题并将其设置为 FALSE 则会留下大量空白 那么有没有一种 R 方法可以将文件剪切到图形本身上方和下方几个像素呢 提前谢谢 你可以改变
  • 使用 str.contains 忽略 NaN

    我想找到包含字符串的行 如下所示 DF DF col str contains foo 但是 这会失败 因为某些元素是 NaN ValueError 无法使用包含 NA NaN 值的向量进行索引 所以我诉诸于混淆 DF DF col not
  • 安装 OS X Mavericks 后出现 RMagick 错误

    我在 OS X Mountain Lion 中安装了 RMagick 并完美运行 我刚刚安装了 OS X Mavericks 当我尝试运行时rails s 我收到此错误 rvm gems ruby 2 0 0 p0 myapp gems a
  • BProlog 8.1 中的制表性能不均匀

    我用表格功能做了一些实验b prolog8 1 版本 我对观察到的性能感到非常惊讶 这是我使用的代码 它计算的数量Collatz steps N减少一些正整数所需的I向下1 table posInt CollatzSteps 2 remov
  • 尝试通过原始 IP 数据包发送数据时的 EMSGSIZE

    我的代码将原始 IP 数据包发送到12 12 12 12并失败 因为EMSGSIZE 我认为它根据以太网 MTU 限制我的数据包 但它应该发送 我尝试将数据包发送至127 0 0 1这工作得很好 但是当我将数据包发送到非本地 IP 时 就会
  • 具有多个分隔符的 sql-maven-plugin

    我正在使用 sql maven plugin 在多个数据库上执行一些 MySQL 脚本 我想在同一个 SQL 脚本中部署表 数据 触发器 事件和存储过程 我的行分隔符有问题 因为对于 INSERT 或 CREATE 我使用 但对于我的触发器