Имя: Пароль:
1C
 
Работа с мс-скл
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 вам вернет количество измененных записей.