2015-09-25 3 views
2

Это мой точный запрос, который erroring изПолучения недопустимой ALTER TABLE опции

alter table INDIL_MCAR drop constraint ABOB.INDI_MCAR_PK; 

Я пытаюсь удалить уникальный ключ constring из таблицы. Это дает мне следующую ошибку.

ORA-01735: invalid ALTER TABLE option 
+0

Я думаю, что проблема в 'ABOB' – HAYMbl4

ответ

3

Вы не можете префикс имени ограничения ... имя таблицы да, но не имя ограничения. Удалите ABOB.:

alter table INDIL_MCAR drop constraint INDI_MCAR_PK; 
+0

Ok, теперь она дает мне ошибку нон существует стеснять. Однако, когда я пытаюсь вставить повторяющуюся запись, это дает мне уникальное ограничение (ABOB.INDI_MCAR_PK). – slimsim

+0

Какой пользователь вы вошли в систему как? ABOB? Если нет, тогда вам нужно будет префикс имени таблицы: 'alter table ABOB.INDIL_MCAR ограничение на падение INDI_MCAR_PK;'. Я бы предположил, что ошибка «таблица или представление не существует», хотя ... Вы уверены, что получили правильное имя таблицы? – sstan

+2

@slimsim - Основываясь на имени ограничения, я собираюсь предположить, что это первичный ключ. Создание ограничения первичного ключа по умолчанию создает уникальный индекс с тем же именем, который обеспечивает ограничение. Удаление только одного ограничения не отменяет индекс. Поэтому я предполагаю, что вы получаете ошибку, потому что индекс 'indi_mcar_pk' все еще существует. Предполагая, что это так, вы, вероятно, захотите также отбросить индекс. –