Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1

ТЕМА:

Ошибки ORA-02443 ORA-00955 ORA-14196 20 нояб 2010 18:39 #98

  •  аватар Автор темы
  • Посетитель
  • Посетитель
Выполняю следующие команды через запуск скрипта:

ALTER TABLE USERDOC
DROP CONSTRAINT PC_USERDOC;
CREATE UNIQUE INDEX PC_USERDOC ON USERDOC
(COD,ID_CAR);
ALTER TABLE USERDOC ADD (
CONSTRAINT PC_USERDOC
PRIMARY KEY
(COD,ID_CAR)
USING INDEX PC_USERDOC);


Oracle выдает ошибки:

DROP CONSTRAINT PС_USERDOC
*
ERROR at line 2:
ORA-02443: Cannot drop constraint - nonexistent constraint
CREATE UNIQUE INDEX PС_USERDOC ON USERDOC

*
ERROR at line 1:
ORA-00955: name is already used by an existing object
ALTER TABLE USERDOC ADD (

*
ERROR at line 1:
ORA-14196: Specified index cannot be used to enforce the constraint.

В результате создается только первичный ключ PRIMARY KEY (COD)

Подскажите чем тут дело?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ошибки ORA-02443 ORA-00955 ORA-14196 20 нояб 2010 18:46 #99

  •  аватар Автор темы
  • Посетитель
  • Посетитель
Ну так а вы уверены, что удаляемый констреин действительно существует? и что объект с именем создаваемого индекса действительно не существует?

Выполните запрос:

select *
from all_constraints cons
where cons.TABLE_NAME = 'USERDOC';

select *
from all_indexes ind
where ind.TABLE_NAME = 'USERDOC';

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ошибки ORA-02443 ORA-00955 ORA-14196 20 нояб 2010 18:58 #100

  •  аватар Автор темы
  • Посетитель
  • Посетитель

ORA-14196: Specified index cannot be used to enforce the constraint.

Вы пытаетесь создать индекс, который не применим в данном констреинте!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ошибки ORA-02443 ORA-00955 ORA-14196 20 нояб 2010 19:00 #101

  •  аватар Автор темы
  • Посетитель
  • Посетитель

Ну так а вы уверены, что удаляемый констреин действительно существует? и что объект с именем создаваемого индекса действительно не существует?

Выполните запрос:

select *
from all_constraints cons
where cons.TABLE_NAME = 'USERDOC';

select *
from all_indexes ind
where ind.TABLE_NAME = 'USERDOC';


Спасибо! Действительно напартачил с объектами! :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ошибки ORA-02443 ORA-00955 ORA-14196 15 июль 2011 17:32 #1943

Тут видно уже с DROP CONSTRAINT PС_USERDOC что ошибка связана с дроп, надо лазить там

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Ошибки ORA-02443 ORA-00955 ORA-14196 12 авг 2011 08:44 #3195

эту строку DROP CONSTRAINT PC_USERDOC; лучше убрать

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1