Проблема с большим количеством данных, обновляемых курсором - PullRequest
0 голосов
/ 23 марта 2019

Я написал запрос. Я редактирую данные из зарегистрированной таблицы около 37000 и обновляю ее курсором. Идет неправильный результат, когда я превышаю определенное число. Количество записей составляет около 12800-12900.

Кто-нибудь знает, почему это происходит? Я так растерялся.

Есть ли возможность ограничения при работе с курсором?

1 Ответ

0 голосов
/ 24 марта 2019
BelgeNo = DocumentNo
CoKey = Company's unique number
Kapsam = type of document
Durumu = status (for document valid=1 invalid=0)
BitisTarihi = End date of the document

Исходная таблица имеет около 37000 записей и смешана. Я попытался сгруппировать для 'CoKey' и 'Kapsam' данные в исходной таблице с помощью следующего запроса.

SELECT A.ID, A.BelgeNo, A.CoKey, A.Kapsam, A.Durumu, A.BitisTarihi
FROM Sshyb A
INNER JOIN (SELECT CoKey, Kapsam
            FROM Sshyb
            GROUP BY CoKey, Kapsam
            HAVING COUNT(*) > 1) B
ON A.CoKey = B.CoKey AND A.Kapsam = B.Kapsam
ORDER BY A.Kapsam, A.CoKey

Но я могу ошибиться в этом запросе. Количество записей составляет около 25000, когда запрос выполняется из-за «наличия». (я должен сделать это для отдельных записей) в любом случае

Таблица: ibb.co/5YmPPDH

После этого у меня есть дела:

if CoKey = Kapsam

biggest 'end date' must be true, others must be false (in the group as selected in the picture)

if dates are before today all should be wrong in the group

if CoKey != Kapsam

Switch to other group and check same case

Для этого я использую курсор как в запросе. Я пытаюсь найти группы с временной таблицей и обновить выше. Но когда он превышает около 12000 записей, процесс обновления не работает так, как я его разработал. Я не получаю сообщение об ошибке, но обновление неверно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...