HSQLDB 中的 Oracle NUMBER(精度,小数位数)

Oracle NUMBER(precision,scale) in HSQLDB

在单元测试中,我试图在内存中的 HSQLDB 中生成 table,table 包含定义为 @Column(name = "xxx", columnDefinition="NUMBER(10,0) default 0") 的列。 HSQLDB(版本2.3.3)无法识别NUMBER,所以我先添加了一个脚本运行这条语句:CREATE TYPE NUMBER AS NUMERIC;。现在它似乎可以识别 NUMBER,但我却收到错误 unexpected token: (。我无法编辑列定义,那么我如何正确地将 Oracle NUMBER(10,0) 映射到 NUMERIC?如果我从 NUMBER 中删除精度和小数位数,它似乎可以工作。

您不需要定义 NUMBER 类型,因为 HSQLDB 支持它。

HSQLDB 在其兼容模式之一中支持 Oracle 语法。 运行 此语句启用它:

SET DATABASE SQL SYNTAX ORA TRUE