|
Работа с мс-скл | ☑ | ||
---|---|---|---|---|
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 вам вернет количество измененных записей. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |