ник: osmor
MSA 2003
Суть:
Есть таблица около 500'000 записей
В ней текстовое поле (URN) 255 символов
поле может быть как пустым так и нет
Нужно НЕ пустые поля проверить на соответствие определенным условиям и в случае НЕ соответствия изменить поле TypeError в этой же таблице.
Условия сложные (используются RegExp), по-этому проверка вынесена в функцию ( checkURN). Работает не быстро.
Что бы ускорить, хочу отправлять на проверку в функцию ТОЛЬКО те записи где поле URN не пустое.
Пишу:
UPDATE (
SELECT ostmp_tblObject.typeError,
ostmp_tblObject.URN
FROM ostmp_tblObject
WHERE (nz([URN],"")<>"")
) AS s1
SET s1.typeError = "URN IS INVALID"
WHERE checkURN([URN])=False;
|
Один фиг в функцию идут и записи с пустыми значениями, т.е. во внешнем запросе обрабатываются все записи из таблицы, а не только те которые должны попасть во внутренний ....WHERE (nz([URN],"")<>"")
По некоторым причинам использовать сохраненный запрос не могу... т.е. не хотел бы
Вопрос:
Что делать!!!?