gpt4 book ai didi

hsqldb - 如何使用 Liquibase 插入序列

转载 作者:行者123 更新时间:2023-12-05 00:59:46 29 4
gpt4 key购买 nike

我想做一个 liquibase 插入,主键是从数据库中定义的序列自动生成的。目标数据库是HSQLDB。

它可以执行插入指定主键的值

<insert ...>
<column name="TAG_ID" valueNumeric="2"/>

我发现了这个(诚然更老) conversation about it但问题还是一样。建议的修复不适用于 HSQLDB。

看着 the docs我尝试过一些类似的事情
<column name="TAG_ID"  defaultValueSequenceNext="TAG_ID_SEQ" />

<column name="TAG_ID" defaultValueSequenceNext="TAG_ID_SEQ.NEXTVAL" />

<column name="TAG_ID" valueComputed="TAG_ID_SEQ.NEXTVAL" />

<column name="TAG_ID" autoIncrement="true" />

但是当我进行插入时,这些都没有在键中放入任何东西(插入在空主键上失败)。

如何做到这一点?

最佳答案

HSQLDB 有一个使用 Oracle 语法的设置。您可以将 HSQLDB 设置为使用 oracle 语法,如下所示:

<changeSet ...
<sql dbms="hsqldb" >SET DATABASE SQL SYNTAX ORA TRUE</sql>
</changeSet>

之后,它可以像这样进行插入:
<insert ...
<column name="TAG_ID" valueComputed="TAG_ID_SEQ.NEXTVAL"/>

关于hsqldb - 如何使用 Liquibase 插入序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261182/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com