ORA-00906: «отсутствует левая скобка» в SQL-разработчике - PullRequest
0 голосов
/ 11 октября 2018

Когда я пытался создать эту таблицу, эта ошибка возникла у меня, и я не знаю, почему

CREATE TABLE Empregado(
    cod_empregado INTEGER,
    cod_supervisor INTEGER,
    cod_armazem INTEGER,
    nome VARCHAR(40) NOT NULL,
    morada VARCHAR(40) NOT NULL,
    salario_semanal NUMERIC(*,2) NOT NULL,
    formacao VARCHAR(40) NOT NULL,
    CONSTRAINT pk_Empregado_cod_empregado PRIMARY KEY,
    CONSTRAINT fk_Empregado_cod_supervisor FOREIGN KEY(cod_supervisor) 
    REFERENCES Empregado(cod_supervisor),
    CONSTRAINT fk_Empregado_cod_armazem FOREIGN KEY(cod_armazem) REFERENCES 
    Armazem(cod_armazem)
);

И это выходной отчет об ошибках - ORA-00906: отсутствует левая скобка 00906. 00000 -"пропущена левая скобка" * Причина:
* Действие:

1 Ответ

0 голосов
/ 11 октября 2018

Проблема, которая выдает ошибку, которую вы видите, вызвана ограничением PRIMARY KEY: вы не указали, КАКОЙ столбец является первичным ключом.Столбец PK должен быть в скобках;открывающая скобка отсутствует (вместе с остальными), и это первое нарушение синтаксиса, которое видит Oracle.

После того, как вы исправите это, вы получите еще одну ошибку в первом внешнем ключе, потому что вы ссылаетесь наневерная таблица (или если она должна ссылаться на ту же таблицу, которую вы создаете, вы ссылаетесь на неправильную COLUMN).

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