|
Работа с мс-скл |
☑ |
0
Мисти
22.11.19
✎
17:11
|
Выборка = Cmd.Execute();
Пока Не Выборка.EOF() Цикл
...
Раньше я всегда либо таблицу считывала либо заполняла, а теперь мне нужно считать, но в каждую строку вставить "прочитано = 1"
Написать новый запрос к строке? Или как-то по-другому надо действовать?
|
|
1
Ёпрст
гуру
22.11.19
✎
17:15
|
Вставляй, разрешаю.
|
|
2
Сияющий в темноте
22.11.19
✎
20:14
|
выборка с обновлением это называется,если умеет,то установить значение и записать.
если не умеет,то отдельным запросом или сразу написать запрос на обновление update set name=value where условие
|
|
3
Мисти
22.11.19
✎
21:08
|
Так как лучше сделать-то? Отдельным запросом как-то странно!
update - это же обновить конкретноую строку. Ну, это я понятно - т.е. я выборкой по строкам ду и для той, на которой стою пишу новый запрос update.
А может, можно как-то по-другому?
|
|
4
МихаилМ
22.11.19
✎
21:16
|
(3)
изучайте типы курсоров ole db и распределенные транзакции
|
|
5
Мисти
22.11.19
✎
21:23
|
не-ет! Мне только единичку поставить! Это последний пунки задания!!!
|
|
6
Сияющий в темноте
22.11.19
✎
23:00
|
везде?
update ставит по всем строкам,попавшим в выборку сразу.
update set teapotstate=true where lammerstate=true
что может быть проще?
|
|
7
Мисти
23.11.19
✎
00:14
|
Можно и по всем сразу, наверное.
Выборка = Cmd.Execute();
Пока Не Выборка.EOF() Цикл
Только всё равно же это новый запрос? Что мне не нравится - а вдруг между первым и вторым туда что-то добавится?
Хотя не должно, там по расписанию идет загрузка-выгрузка, а не произвольно.
|
|
8
ДенисЧ
23.11.19
✎
05:53
|
У тебя по-любому упдейт пойдёт при изменении курсора. Так лучше самому его контролировать, чем отдавать под контроль противоестественному интеллекту...
|
|
9
dmpl
23.11.19
✎
08:46
|
(7) Тут блокировка нужна. Ведь пока ты обрабатываешь свою выборку, кто-то может поменять существующую запись.
|
|
10
rphosts
23.11.19
✎
09:34
|
(3) выборка и апдейт - это разные операторы.
|
|
11
Сияющий в темноте
24.11.19
✎
01:18
|
вместо select пишем update и правильное присвоение и условия
а execute вам вернет количество измененных записей.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший