Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка: ORA-00001, помогите плиз 
:(
    Опции темы
DimW
Дата 24.4.2009, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



azesmcar, вам просто хотят обьяснить что жопа с флагом(не считая primary key) в оракле реализуется двумя способами:
Код

alter table TEST_CONSTRAINT add constraint XXX unique (ID);

или
Код

create unique index XXX on TEST_CONSTRAINT (ID)


хотя уникальность constraint и реализуется уникальным индыксом, но причиной ошибки могдо быть как его отсутствие так и:
Код

disable constraint XXX;

и наличие индекса в этом случае уникальность не обеспечивает.
PM MAIL ICQ   Вверх
azesmcar
Дата 24.4.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Цитата

azesmcar, вам просто хотят обьяснить что жопа с флагом(не считая primary key) в оракле реализуется двумя способами:

а зачем мне обяснять то что я знаю? Тут вроде как форум а не научная конференция, высказыватся надо так чтобы поняли, а соответствует ли это общепринятым терминам или нет - второстепенно. Отвечать в терминах или нет кстати также зависит от уровня знаний задающего вопрос. Я могу считать что флаг - понятнее, вы можете считать что ТС-у понятнее будет если его назвать "уникальным ограничением установленным на таблицу". Вон Zloxa считает что слова Жопа выражает смысл данного явления максимально понятно. Я не возражаю. Только вот если не понимающему человеку сказать уникальный индекс, потом наверняка придется обяснять что такое индекс.
Цитата

disable constraint XXX;
и наличие индекса в этом случае уникальность не обеспечивает. 

А отключенный от электропитания телевизор - ничего не показывает smile 

Это сообщение отредактировал(а) azesmcar - 24.4.2009, 10:48
PM   Вверх
Zloxa
Дата 24.4.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(DimW @  24.4.2009,  10:36 Найти цитируемый пост)
и наличие индекса в этом случае уникальность не обеспечивает. 

о каком наличии smile речь?  
Код

SQL> create table test (val number constraint test$unc unique);
 
Table created
SQL> select index_name,index_type from user_indexes where table_name = 'TEST';
 
INDEX_NAME                     INDEX_TYPE
------------------------------ ---------------------------
TEST$UNC                       NORMAL
SQL> alter table test disable constraint test$unc;
 
Table altered
SQL> select index_name,index_type from user_indexes where table_name = 'TEST';
 
INDEX_NAME                     INDEX_TYPE
------------------------------ ---------------------------
 
SQL> 



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
DimW
Дата 24.4.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(Zloxa @  24.4.2009,  10:51 Найти цитируемый пост)
о каком наличии  речь?  

каюсь.
PM MAIL ICQ   Вверх
Zloxa
Дата 24.4.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(DimW @  24.4.2009,  11:02 Найти цитируемый пост)
каюсь. 

видать ты имел в виду нечтовроде:
Код

create table test (val number);
 
Table created
create index test$idx on test(val);
 
Index created
alter table test add constraint test$unc unique(val) using index test$idx;
 
Table altered
select index_name,UNIQUENESS from user_indexes where table_name = 'TEST';
 
INDEX_NAME                     UNIQUENESS
------------------------------ ----------
TEST$IDX                       NONUNIQUE
insert into test select 1 from dual group by cube(1);
 
insert into test select 1 from dual group by cube(1)
 
ORA-00001: unique constraint (ETALON.TEST$UNC) violated
alter table test disable constraint test$unc;
 
Table altered
select index_name,UNIQUENESS from user_indexes where table_name = 'TEST';
 
INDEX_NAME                     UNIQUENESS
------------------------------ ----------
TEST$IDX                       NONUNIQUE
 
SQL> 



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
DimW
Дата 24.4.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(Zloxa @  24.4.2009,  11:09 Найти цитируемый пост)
видать ты имел в виду нечтовроде

да, но не предусмотрел вариан когда индекс дропается при отключении ограничения.

Добавлено через 2 минуты и 9 секунд
для чистоты эксперемента инсерты расположил после отключения ограничения:
Код

create table test (val number);
create index test$idx on test(val);
alter table test add constraint test$unc unique(val) using index test$idx;
select index_name,UNIQUENESS from user_indexes where table_name = 'TEST';
alter table test disable constraint test$unc;
select index_name,UNIQUENESS from user_indexes where table_name = 'TEST';
insert into test select 1 from dual;
insert into test select 1 from dual;
insert into test select 1 from dual;

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.1236 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.