Oracle中某个字段的自动调整

Automatic adjustment of a field in Oracle

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

但是我有一个错误"ORA-00906: missing right parenthesis"

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

如何在 Oracle 的 nvarchar(或 nvarchar2)中创建一个字段而不指定它的大小? (我想让字段大小自动调整)

谢谢

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

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

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

您可能想阅读 NCHAR and NVARCHAR data types