Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизКак правильно внести изменения в базу Найти похожие ветки
← →
AD_infiniTUM (2004-07-22 14:30) [0]Таблица содержит некоторое количество полей.
Поле Field1 ключевое. Нужно в записи с разными значениями Field1, записать в Field2, к примеру, единицу.
Как правильно это сделать?
1. Для каждого значения Field1 выполнить свой SQL вопрос.UPDATE MainTable SET Field2=1 WHERE Field1=2
UPDATE MainTable SET Field2=1 WHERE Field1=7
UPDATE MainTable SET Field2=1 WHERE Field1=90
UPDATE MainTable SET Field2=1 WHERE Field1=100
...
2. В одном запросе через ORUPDATE MainTable SET Field2=1 WHERE Field1=2 OR Field1=7 OR Field1=90 OR Field1=100 ...
3. Или с помощью INUPDATE MainTable SET Field2=1 WHERE Field1 IN (2, 7, 90, 100 ...)
← →
Ega23 © (2004-07-22 14:33) [1]Все 3 варианта имеют право на существование. Я бы сделал через IN, но это моё ИМХО. просто так мне было бы удобнее смотреть на код.
← →
Term (2004-07-22 14:34) [2]зачем так мудрить
← →
Johnmen © (2004-07-22 14:38) [3]Последние 2 варианта с т.з. скорости м.б.одинаковы
Для удобства 3.
← →
Ega23 © (2004-07-22 14:41) [4]Оффтоп:
Последние 2 варианта с т.з. скорости м.б.одинаковы
Минуты 2 въезжал, что т.з. это "Точка зрения", а не "Тех.Задание".
← →
bushmen © (2004-07-22 14:42) [5]> м.б.одинаковы
Они одинаковы будут
← →
bushmen © (2004-07-22 14:43) [6]> Ega23 © (22.07.04 14:41) [4]
А "м.б." еще не удалось расшифровать? :)
← →
Ega23 © (2004-07-22 14:45) [7]bushmen © (22.07.04 14:43) [6]
"Маленькая бутылка", что же ещё? :о)
← →
AD_infiniTUM (2004-07-22 15:21) [8]Т.е. в любом случае 2, 3 варианты, даже если этих значение в скобочках (2, 7, 90, 100 ...) будет порядка тысячи.
← →
Ega23 © (2004-07-22 15:54) [9]Т.е. в любом случае 2, 3 варианты, даже если этих значение в скобочках (2, 7, 90, 100 ...) будет порядка тысячи.
Я бы даже сказал не "даже если", а "тем более", если их тысячи. Так всё одной транзакцией пройдёт.
Кстати, скорее всего ты динамически такую строчку составлять будешь? Тогда вариант 3, ИМХО, проще всего.
← →
Johnmen © (2004-07-22 16:04) [10]>bushmen © (22.07.04 14:42) [5]
>Они одинаковы будут
Я осторожно сказал "м.б.", т.к. наверняка ни я, ни ты не знаем. Ведь всё зависит от того, как аксессный драйвер разберет логическое выражение, и как будет ему следовать...
>AD_infiniTUM
Посмотри, какой там макс.размер для текста запроса.
← →
AD_infiniTUM (2004-07-22 16:40) [11]Ega23
> Кстати, скорее всего ты динамически такую строчку составлять
> будешь?
Да.
Johnmen
> Посмотри, какой там макс.размер для текста запроса.
А где можно это посмотреть? В справке я не нашел. А тип параметра WideString или TStringList. Если максимальная длина ограничена этими типами, то влезет много.
← →
Johnmen © (2004-07-22 17:08) [12]Надо порыться в доках по Аксесу. Там, где общая спецификация...
← →
bushmen © (2004-07-22 17:12) [13]> Johnmen © (22.07.04 16:04) [10]
Не знаю как в Access, но в MSSQL третий вид приводится ко второму и именно он выполняется.
← →
Ega23 © (2004-07-22 17:16) [14]bushmen © (22.07.04 17:12) [13]
Откуда информация?
← →
bushmen © (2004-07-22 17:24) [15]> Ega23 © (22.07.04 17:16) [14]
www.sql.ru и собственные наблюдения
← →
Ega23 © (2004-07-22 17:44) [16]bushmen © (22.07.04 17:24) [15]
Просто давно хотел разобраться в алгоритме оптимизации запросов, только что-нибудь серьёзное почитать хотелось бы.
← →
bushmen © (2004-07-22 17:47) [17]> Ega23 © (22.07.04 17:44) [16]
Нет ничего серьезнее, чем собственные эксперименты и наблюдения :)
← →
Ega23 © (2004-07-22 17:49) [18]Нет ничего серьезнее, чем собственные эксперименты и наблюдения :)
Это верно, но метод Монте-Карло хорош только в том случае, если срок жизни стремиться к бесконечности.
А вот Microsoft что по этому поводу говорит, интересно?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c