Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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]

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




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




Наверх





Память: 0.73 MB
Время: 0.032 c
1-75615           swr                   2002-01-08 10:26  2002.01.24  
меню Project/Resourses в Delphi IDE


1-75604           ~Alice~               2002-01-07 20:38  2002.01.24  
еще раз про iniФайлы


1-75549           3d[Power]             2002-01-02 23:42  2002.01.24  
record


3-75467           VovanR                2001-12-18 17:17  2002.01.24  
Производительность функции Table.Locate ?


14-75655          zero                  2001-11-28 14:50  2002.01.24  
SMS