Мне нелегко пытаться обновить первые 100 записей таблицы db2. Я бегу запрос от Squirrel 3.5.0Как я могу обновить первые n записей в таблице DB2
Если я это сделать:
SELECT *
FROM "CUSTOMERS"
WHERE CITY = 'SAN JOSE'
FETCH FIRST 100 ROW ONLY
фильтрует данные надлежащим образом, но когда я делаю это:
UPDATE (SELECT * FROM "CUSTOMERS" WHERE CITY = 'SAN JOSE' FETCH FIRST 100 ROWS ONLY)
SET NAME = 'MARIO', LASTNAME = 'PEREZ'
он выдает эту ошибку
Error: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=(;<IDENTIFIER> STATISTICS, DRIVER=3.53.95
SQLState: 42601
ErrorCode: -104
Я следую подходу, который предлагается по этой ссылке http://db2guideonline.blogspot.com/2013/04/select-update-delete-n-number-of-rows.html
Не могли бы вы помочь мне?
Thanks
Сторона примечания - таблицы в SQL представляют собой неупорядоченные множества, поэтому нет «первых 100 строк». Это было бы (если бы оно работало) обновлять первые 100 строк, которые выбирает оптимизатор (что является _probably_ строками с наименьшими первичными ключами в таблице, но это не гарантировано.). Попытка распространить это на вторую страницу результатов становится сложнее. –