【问题标题】:Create table with longvarchar consistently in Hsqldb and Oracle在 Hsqldb 和 Oracle 中始终使用 longvarchar 创建表
【发布时间】: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


【解决方案1】:

使用CLOB

CREATE TABLE A (DATA CLOB);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    相关资源
    最近更新 更多