首页 > 解决方案 > Oracle中字段的自动调整

问题描述

您好我正在尝试在 Oracle 18.1 (SQL Dev) 下创建一个表。

但我有一个错误“ORA-00906:缺少右括号”

CREATE TABLE DIM_TAB (
ID Number PRIMARY KEY,
TEST nvarchar2,
TEST_2 nvarchar,
DATE DATE not null 
);

如何在 Oracle 上的 nvarchar(或 nvarchar2)中创建字段而不指定其大小?(我希望字段大小自动调整)

谢谢

标签: oracleddlcreate-tablenvarchar

解决方案


你有三个问题。一,您必须指定一个VARCHAR2NVARCHAR2列的最大字符数。如果您有超过 4000 个字节(不是字符)的数据,那么只需使用CLOB. 其次,没有NVARCHAR数据类型。第三,您不能创建名为“日期”的列,因为这是一个保留字。你想要的是这样的:

CREATE TABLE DIM_TAB (
    id        number PRIMARY KEY,
    test      nvarchar2(30),
    test_2    nvarchar2(30),
    the_date  date not null 
);

就个人而言,我会使用 aNUMBER(10)作为您的 id,但这是一个小问题。

您可能想了解NCHAR 和 NVARCHAR 数据类型


推荐阅读