我正在使用Liquibase版本3.5.3,编写需要执行PL/SQL(到Oracle 11g数据库)的“格式化SQL”文件。
--liquibase formatted sql
--changeset mike:51.9 endDelimiter:/
/* -- 'Create/Modify triggers for FIN_PLANS' -- */
BEGIN
HIST_PKG.TRIG_HIST_TAB('FIN_PLANS');
END;
/
--rollback endDelimiter:/
--rollback BEGIN
--rollback HIST_PKG.TRIG_HIST_TAB('FIN_PLANS');
--rollback END;
--rollback /
那么是否可以在支持调用PL/SQL代码的“格式化SQL”文件中编写liquibase回滚?
一位工作同事找到了这个问题的答案。您必须设置回滚结束分隔符“在变更集头中”。多!
--liquibase formatted sql
--changeset mike:51.9 endDelimiter:/ rollbackEndDelimiter:/
/* -- 'Create/Modify triggers for FIN_PLANS' -- */
BEGIN
HIST_PKG.TRIG_HIST_TAB('FIN_PLANS');
END;
/
--rollback BEGIN
--rollback HIST_PKG.TRIG_HIST_TAB('FIN_PLANS');
--rollback END;
--rollback /
希望这能帮助其他和我一样挣扎的人。
问题内容: 我正在学习加入班级的课程,但是我没有完全掌握其中的一些概念。有人可以解释具有多个联接的语句如何工作吗? 我相信我知道BOOKS表是连接BOOKS和ORDERITEMS的第一个外部联接中的左表。即使没有书的ORDERITEM,也会显示所有的BOOKS。第一次加入后,我不确定真正发生了什么。 当ORDERS加入时,哪个是左表,哪个是右表?客户也一样。这是我迷路的地方。 问题答案: 执行者将
问题内容: 以Oracle论坛中显示的示例:使用plsql生成excel(xls),我想从查询的数据集中生成一个excel文件。 此处提供的示例有效。但是,我遇到了一些挑战: 我的SQL查询很长,超过了4000个字符的限制。 我想将参数传递给我的查询。 我想以一种非常简单的方式做到这一点,并且不使用Dynamic SQL(如果可能)。 我提出的内容如下: 包装定义: 现在,我的匿名阻止最好是如下所
问题内容: 今天,当我在教学生如何防止SQL注入时,我有些尴尬。在专业项目中,我已经使用准备好的语句/参数化查询作为防止SQL注入的一层(尽管我从未专业地使用过mySQL)。从理论上讲,我认为使用准备好的语句时不可能进行SQL注入。 但是后来这起作用了… 如果我传递参数“?s = 1 OR 1 = 1”,那么我可以获得所有产品的完整清单。我仍然无法在末尾插入另一个查询,但是我对为什么在mysql
问题内容: URI(特别是HTTP URL)是否允许包含一个或多个空格字符?如果 必须 对URL 进行编码,这是通常遵循的约定还是合法的选择? 特别是,有人可以指向RFC指出 必须 对带有空格的URL 进行编码吗? 提出问题的动机: 在对网站进行Beta测试时,我注意到某些URL的构造带有空格。Firefox似乎做对了,这让我感到惊讶!但是我希望能够将开发人员指向RFC,以便他们觉得有必要修复这些
问题内容: 我有一张表格,其中包含有关零售店的信息。我有一个零售链名称的列表(WalMart,Target,Eaton等)。当用户选择一个时,我基本上会运行一个查询来查找与该链有关的任何内容。 例如,如果用户选择“ WalMart”,则查询将返回名称中带有单词“ WalMart”的任何内容(WalMart Scarborough,WalMart Supercenter Toronto,WalMar
问题内容: 在SQL Server 2005中,我有一个包含订单ID和产品ID的订单详细信息表。我想编写一条sql语句,查找具有特定订单内所有项目的所有订单。因此,如果订单5包含项1、2和3,则我希望所有其他订单也具有1、2和3。此外,如果订单5具有2次两次和3次一次,则我希望所有其他订单具有两个2和一个3。 我的偏爱是它返回完全匹配的订单,但是,如果这样更容易执行/性能更好,则可以接受超集订单。