«ORA-00922: отсутствует или недействительна опция» при создании таблиц - PullRequest
4 голосов
/ 25 марта 2012

Я ввел следующие команды SQL в Oracle, но он пожаловался: «ORA-00922: отсутствует или недействительна опция»

CREATE TABLE Student (
    StuID     NUMBER(15),
    StuName   VARCHAR2(50),
    Phone     VARCHAR2(20),
    PRIMARY KEY (StuID))

CREATE TABLE Program (
    ProCode       VARCHAR2(12),
    ProTitle      VARCHAR2(50),
    PRIMARY KEY (ProCode))

ПОЧЕМУ ???

Ответы [ 3 ]

8 голосов
/ 25 марта 2012

Если вы используете страшный HTML GUI (внутри браузера) OracleXE, то это не поддерживает выполнение более одного оператора.

Используйте взамен SQL Developer, SQL * Plus или любой другой инструмент с графическим интерфейсом.

5 голосов
/ 25 марта 2012
CREATE TABLE Student (
    StuID     NUMBER(15),
    StuName   VARCHAR2(50),
    Phone     VARCHAR2(20),
    CONSTRAINT PK_STUID PRIMARY KEY (StuID))

Найден ответ здесь .

Редактировать:

Также попробуйте вместо этого использовать / в качестве разделителя операторов.;

1 голос
/ 25 марта 2012

Попробуйте не определять размер StuID. также добавьте ограничение работы ключа и просто чтобы убедиться, что использовать DROP перед CREATE как это:

DROP TABLE Student;

CREATE TABLE Student (
    StuID     NUMBER,
    StuName   VARCHAR2(50),
    Phone     VARCHAR2(20),
    constraint pk_Student PRIMARY KEY (StuID));

DROP TABLE Program;

CREATE TABLE Program (
    ProCode       VARCHAR2(12),
    ProTitle      VARCHAR2(50),
    constraint pk_Program PRIMARY KEY (ProCode));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...