Ошибка ORA-00922: отсутствует или неверна опция

CREATE TABLE CLIENT(
    ID_CLIENT NUMBER NOT NULL,
    FAM VARCHAR2(100),
    IMY VARCHAR2(100),
    OTCH VARCHAR2(100)
)
INSERT INTO CLIENT VALUES ('1', 'ФЕДОРОВ', 'ПАВЕЛ', 'АНТОНОВИЧ');
INSERT INTO CLIENT VALUES ('2', 'ДИМИТРОВ', 'ИГОРЬ', 'АНАТОЛЬЕВИЧ');
INSERT INTO CLIENT VALUES ('3', 'ПЕТРОВ', 'КОНСТАНТИН', 'СЕРГЕЕВИЧ')

При запуске выдает ошибку ORA-00922: отсутствует или неверна опция


Ответы (1 шт):

Автор решения: CrazyElf

Проверим ваш код на онлайн версии Oracle:

INSERT INTO CLIENT VALUES ('1', 'ФЕДОРОВ', 'ПАВЕЛ', 'АНТОНОВИЧ')
*
ERROR at line 7:
ORA-00922: missing or invalid option

INSERT INTO CLIENT VALUES ('2', 'ДИМИТРОВ', 'ИГОРЬ', 'АНАТОЛЬЕВИЧ')
            *
ERROR at line 1:
ORA-00942: table or view "C##42QWTBPC6_42QY683KT"."CLIENT" does not exist

Пишет, что таблица не создалась на тот момент, когда INSERT начал выполняться. Вероятнее всего, как уже написали, это потому, что ; в конце строки у CREATE отсутствует. Попробуем исправить.

  • Если выбран PL/SQL, то этого достаточно, запрос отрабатывает.
  • Если выбран просто Oracle, то всё-равно ругается и ; нужно поставить также в конце последнего INSERT.

В общем, для полностью корректного исправления нужно добавить две ; на концах строк:

CREATE TABLE CLIENT(
    ID_CLIENT NUMBER NOT NULL,
    FAM VARCHAR2(100),
    IMY VARCHAR2(100),
    OTCH VARCHAR2(100)
);
INSERT INTO CLIENT VALUES ('1', 'ФЕДОРОВ', 'ПАВЕЛ', 'АНТОНОВИЧ');
INSERT INTO CLIENT VALUES ('2', 'ДИМИТРОВ', 'ИГОРЬ', 'АНАТОЛЬЕВИЧ');
INSERT INTO CLIENT VALUES ('3', 'ПЕТРОВ', 'КОНСТАНТИН', 'СЕРГЕЕВИЧ');
→ Ссылка