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

Вниз

SQL   Найти похожие ветки 

 
Сашка   (2001-12-20 20:11) [0]

Добавляю в БД новую запись. Так вот мне нужно проверить: если она уже внесена в таблицу, то не вносить её. Как мне лучше всего это сделать?


 
Anatoly Podgoretsky   (2001-12-20 20:54) [1]

С помощью функции
SELECT Count(*) From xxx where условие


 
Boo   (2001-12-20 21:01) [2]

>Anatoly Podgoretsky
XXX - енто было круто :-)
только я вот думаю, чеку надо было енто на уровне базы

>Сашка
или я не прав?


 
Сашка   (2001-12-20 21:20) [3]

>Boo
Да, ты прав.


 
Boo   (2001-12-20 21:30) [4]

>Сашка
А вот в ентом почом врядли смогу (юзаю MSSQL), но может моно использовать уникальный ключ (индекс), содержащий ВСЕ поля таблицы...
А может я и глупость сморозил...


 
panov   (2001-12-20 21:31) [5]

>Boo © (20.12.01 21:01)
>Сашка (20.12.01 21:20)
Анатолий Подгорецкий дал вполне исчерпывающий ответ.


 
Boo   (2001-12-20 21:32) [6]

>panov
Я в курсе, что исчерпывающий ответ (для клиента), а вот всетаки на уровне базы моно что-нибудь сделать?


 
panov   (2001-12-20 21:38) [7]

Что значит "на уровне базы" ?


 
Boo   (2001-12-20 22:03) [8]

> panov
в SQL-серваке (в частности MSSQL) - триггеры, или нечто подобное (индексы), а то вдруг в проге надо делать море запросов с такими ограничениями...


 
SergVlad   (2001-12-20 23:35) [9]

> Boo
Не морочай людям голову индексами подобными триггерам.
Вопрос по Парадоксу был.
Но кое в чем ты прав.
Использование ответа Подгорецкого - источник сбоев при многопользовательской работе.
За время между "SELECT.." и скажем "UPDATE.." другой пользователь может
добавить аналогичную запись.
Поэтому более правильным является использование уникального индекса
по нужным полям и отлавливание exception.


 
Boo   (2001-12-20 23:46) [10]

А я ведь знал, знал...



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

Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.025 c
4-75716
pank
2001-11-25 01:03
2002.01.24
Как сделать программно ярлык (*.lnk)


1-75584
Андрей Сенченко
2002-01-05 13:50
2002.01.24
Помогите с ловлей Handl-ов


3-75483
Марина
2001-12-20 13:02
2002.01.24
База данных


7-75697
REL
2001-10-11 19:14
2002.01.24
Модемы


7-75706
Ghost666
2001-10-10 23:03
2002.01.24
Как поменять резкость(чувствительность) крысы в Win 9x





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский