Элементарное сообщение об ошибке Oracle SQL ORA-00900 - PullRequest
0 голосов
/ 10 июня 2019

Я довольно новичок в написании SQL, но у меня есть приличное понимание основ на данный момент.Я пытаюсь выяснить, почему я получаю следующее сообщение об ошибке: ORA-00900: недопустимый оператор SQL.

Кроме того, было бы полезно, если бы я мог найти, какая строка вызывает ошибку.

CREATE TABLE ADVENTURE_TRIP (
    COLUMN CHAR(15) PRIMARY KEY,
    TYPE CHAR(15),
    LENGTH CHAR(15),
    DECIMAL_PLACES CHAR(15),
    NULLS_ALLOWED CHAR(15) NOT NULL, 
    DESCRIPTION CHAR(25)
);

Ответы [ 2 ]

3 голосов
/ 10 июня 2019

Слово COLUMN является зарезервированным словом и не подходит для имени столбца.Вам следует выбрать более подходящее имя для столбца.

Хотя TYPE также является зарезервированным словом, оно допускается в качестве имени столбца.Я бы тоже это изменил.

Кроме того, обычно VARCHAR2() предпочтительнее, чем CHAR() для строковых типов в Oracle.

Список зарезервированных слов: здесь .

0 голосов
/ 10 июня 2019

@ Гордон описал правильное обоснование. Зарезервированные ключевые слова следует избегать.

Но, если вы действительно хотите создать таблицу, как указано в вашем вопросе, то вы можете использовать следующий код:

CREATE TABLE ADVENTURE_TRIP (
    "COLUMN" CHAR(15) PRIMARY KEY,
    "TYPE" CHAR(15),
    LENGTH CHAR(15),
    DECIMAL_PLACES CHAR(15),
    NULLS_ALLOWED CHAR(15) NOT NULL, 
    DESCRIPTION CHAR(25)
);

Двойные кавычки могут быть использованы для этой цели. Это просто, чтобы вы поняли, но в реальном мире вы должны избегать использования зарезервированных ключевых слов. Вот Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...