创建表时“ORA-00922:缺少或无效选项”

时间:2012-03-25 07:51:46

标签: sql oracle

我在Oracle中输入了以下SQL命令,但它抱怨“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))

WHY ???

3 个答案:

答案 0 :(得分:8)

如果您正在使用OracleXE中可怕的HTML GUI(在浏览器内),那么它不支持运行多个语句。

使用SQL Developer,SQL * Plus或任何其他GUI工具。

答案 1 :(得分:5)

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

找到答案here

修改

另外,请尝试使用/作为语句分隔符,而不是;

答案 2 :(得分:1)

请勿尝试定义StuID的大小。 还添加约束键工作 并确保在CREATE之前使用DROP 像这样:

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));