【发布时间】:2016-12-15 06:37:34
【问题描述】:
在我的项目中,我们使用 hsqldb 在生产中运行单元测试用例和 oracle。 Liquibase 用于在环境中运行查询。我在创建数据类型为 LONGVARCHAR 的表时遇到问题。我已经在使用这个语句在 hsqldb 中使用 oracle 语法了。
SET DATABASE SQL SYNTAX ORA TRUE
当我尝试在 hsqldb 中创建表时,此查询似乎有效。
CREATE TABLE A (DATA LONGVARCHAR);
当我尝试在 oracle 中创建表时,以下工作。
CREATE TABLE A (DATA LONG VARCHAR);
我怎样才能编写一个对两个数据库服务器都适用的同类查询。
【问题讨论】:
-
LONG在 Oracle 中已弃用,应该不再使用。 -
如果一定要使用Oracle的
LONG VARCHAR,注意和Oracle的LONG一样。您可以在 HSQLDB 的兼容模式下使用LONG,将其转换为 VARCHAR(1073741824)。
标签: java oracle jdbc hsqldb liquibase