Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.115 c
3-5982
Zilog
2004-01-25 02:05
2004.03.03
SQL. Переносимость....


1-6009
Riant
2004-02-19 16:29
2004.03.03
Delphi 6 <> Delphi 7


1-6102
Neoo
2004-02-21 20:00
2004.03.03
Handle


3-5955
Lisa
2004-02-05 22:15
2004.03.03
Какие поля содержатся в результате выполнения запроса в TQuery?


14-6185
jen
2004-02-11 16:26
2004.03.03
Люди, помогите, какой-то бред со СТРОКАМИ!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский