Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.03;
Скачать: CL | DM;

Вниз

Гибкая уникальность   Найти похожие ветки 

 
Andrey V. ©   (2004-02-03 20:05) [0]

Понятно , что для предотвращения добавления дубликатов
заводится уникальный индекс.
А как Вы поступаете в случае, если некое поле не должно дублироваться
если оно больше 0, а 0, типа , может существовать у многих записей ?


 
Vlad ©   (2004-02-03 20:13) [1]

Вставляй записи не напрямую в таблицу, а через ХП, и в ней отслеживай все что угодно.


 
Alex_Bredin ©   (2004-02-04 09:34) [2]

раз есть такая необходимость, то это уже не первичный ключ
заводится еще одно поле, уникальное и оно служит ключом


 
Johnmen ©   (2004-02-04 09:41) [3]

1. С помощью триггеров.
2. С помощью констрейнтов.


 
asp ©   (2004-02-04 09:48) [4]

Johnmen © (04.02.04 09:41) [3]> В Interbes"е почти 0 и заинтересовало след. как это c помошью CONSTRAINT"ов?


 
Johnmen ©   (2004-02-04 09:51) [5]

>asp © (04.02.04 09:48)

С пом. констрейнта типа CHECK.


 
asp ©   (2004-02-04 10:00) [6]

Johnmen © (04.02.04 09:51) [5]> ?
Ладно. Как-нибудь посмотрю на описание CHECK...


 
Vladimir_Shalamberidze@yandex.ru   (2004-02-04 13:12) [7]

Посмотрю я как вы это через триггер сделаете :)


 
Sandman25 ©   (2004-02-04 13:19) [8]

[7] Vladimir_Shalamberidze@yandex.ru (04.02.04 13:12)

Триггер вызывает хранимую процедуру, которая raise exception, если в таблице уже есть вставляемое/изменяемое значение


 
Sergey_Masloff   (2004-02-04 13:20) [9]

Sandman25 © (04.02.04 13:19) [8]
[7] Vladimir_Shalamberidze@yandex.ru (04.02.04 13:12)

>Триггер вызывает хранимую процедуру, которая raise exception, >если в таблице уже есть вставляемое/изменяемое значение
ИМХО изврат

Vlad © (03.02.04 20:13) [1] как мне кажется предлагает оптимальный вариант


 
Sandman25 ©   (2004-02-04 13:25) [10]

[9] Sergey_Masloff (04.02.04 13:20)

Согласен. Я всего лишь ответил на вопрос. Кстати, через триггеры надежнее, так что в критических по безопасности задачах лучше через них. А то вдруг кто-то из программеров в другой ХП забудет, что нужно вызывать данную ХП, и вставит данные напрямую в таблицу.


 
Andrey V. ©   (2004-02-04 22:21) [11]


> Sandman25 © (04.02.04 13:19) [8]


В том-то и дело, что НУЛЮ разрешено повторяться , а БОЛЬШЕ нуля - нет.
Ну и конечно речь идет не о первичном ключе.

Всем - спасибо, сделаю ч/з триггер+хп.


 
Sandman25 ©   (2004-02-05 10:38) [12]

[11] Andrey V. © (04.02.04 22:21)

Очевидно, что ХП может проверить на вставляемое значение, и если это 0, то на уникальность не проверять.



Страницы: 1 вся ветка

Текущий архив: 2004.03.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
11-6007
BaRToV
2003-06-11 01:36
2004.03.03
Обновление на http://delphikol.narod.ru


4-6278
Buffoon
2003-12-23 12:13
2004.03.03
Печать текста из StringGrid


1-6058
Yermek
2004-02-13 00:20
2004.03.03
Экспорт DBGrig в Excel


14-6199
марсианин
2004-02-11 16:47
2004.03.03
Имена каталогов после восстановления


1-6021
novice_
2004-02-19 08:28
2004.03.03
Множества (Set)