Автоматическая настройка поля в Oracle - PullRequest
0 голосов
/ 26 июня 2018

Здравствуйте, я пытаюсь создать таблицу под Oracle 18.1 (SQL Dev).

Но у меня ошибка "ORA-00906: отсутствует правая скобка"

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

Как создать поле без указания его размера в nvarchar (или nvarchar2) в Oracle? (Я хочу, чтобы размер поля настраивался автоматически)

Спасибо

1 Ответ

0 голосов
/ 27 июня 2018

У вас три проблемы.Во-первых, вы должны указать максимальное количество символов для столбца VARCHAR2 или NVARCHAR2.Если у вас есть данные, которые будут превышать 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) для вашего идентификатора, но это незначительный спор.

Вы можете прочитать о Типы данных NCHAR и NVARCHAR .

...