Я пытаюсь создать простую таблицу, но появляется сообщение об ошибке:

Error starting at line : 1 in command -
CREATE TABLE dj_abonent
(
nr_klienti int NOT NULL,
emer_klienti varchar2(10),
sasia_cel int
CONSTRAINT dj_klientID PRIMARY KEY(nr_klienti)
)
Error at Command Line : 6 Column : 35
Error report -
SQL Error: ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"
*Cause:    
*Action:
Error starting at line : 1 in command -
CREATE TABLE dj_abonent
(
nr_klienti int NOT NULL,
emer_klienti varchar2(10),
sasia_cel int,
CONSTRAINT dj_klientID PRIMARY KEY(nr_klienti)
)
Error at Command Line : 1 Column : 14
Error report -
SQL Error: ORA-00955: name is already used by an existing object
00955. 00000 -  "name is already used by an existing object"
*Cause:    
*Action:
-1
user3428966 18 Мар 2014 в 03:01

2 ответа

Лучший ответ

У вас вторая ошибка, потому что вы используете dj_klientID в качестве имени для обоих ограничений. Они должны быть уникальными.

Попробуйте переименовать одно из двух ограничений, и ваш второй запрос будет исправлен.

2
Patrick Hofman 18 Мар 2014 в 03:08
Я пробую это, но это дает мне ту же ошибку: Ошибка, начиная со строки: 1 в команде - CREATE TABLE dj_abonent (dj_klientID int PRIMARY KEY, emer_klienti varchar2 (10), sasia_cel int) Ошибка в командной строке: 1 Столбец: 14 Отчет об ошибке - Ошибка SQL: ORA-00955: имя уже используется существующим объектом 00955. 00000 - "имя уже используется существующим объектом" *Причина: *Действие:
 – 
user3428966
18 Мар 2014 в 03:32
Я предполагаю, что сообщение правильное, и таблица, которую вы пытаетесь создать, уже существует. Попробуйте сначала удалить его или изменить.
 – 
Patrick Hofman
18 Мар 2014 в 03:38
Я бросаю его, а потом снова создаю. оно работает. Спасибо за уделенное время
 – 
user3428966
18 Мар 2014 в 04:10
Без проблем. Если все ваши проблемы решены. Не забудьте отметить свой вопрос как ответ. См. часто задаваемые вопросы почему.
 – 
Patrick Hofman
18 Мар 2014 в 16:53

Вам не хватает запятой:

CREATE TABLE dj_abonent
(
nr_klienti int NOT NULL,
emer_klienti varchar2(10),
sasia_cel int, -- this one right here
CONSTRAINT dj_klientID PRIMARY KEY(nr_klienti)
)
3
Woot4Moo 18 Мар 2014 в 03:04
Я исправляю это, но та же проблема. Ошибка, начинающаяся со строки: 1 в команде - CREATE TABLE dj_abonent (nr_klienti int NOT NULL, emer_klienti varchar2 (10), sasia_cel int, CONSTRAINT dj_klientID PRIMARY KEY (nr_klienti)) Ошибка в командной строке: 1 Столбец: 14 Отчет об ошибке - Ошибка SQL: ORA-00955: имя уже используется существующим объектом 00955. 00000 - "имя уже используется существующим объектом" *Причина: *Действие:
 – 
user3428966
18 Мар 2014 в 03:10