ORDER BY
и ROWS
Предложение ORDER BY
позволяет задать порядок обновления записей.Это может иметь значение в некоторых случаях.
Предложение ROWS
имеет смысл только вместе с предложением ORDER BY
.Однако его можно использовать отдельно.
При одном аргументе m, ROWS ограничивает update первыми m записями.
Особенности:
-
Если m больше количества обрабатываемых записей в целевой таблице, то обновляется весь набор строк;
-
Если m = 0, ни одна запись не обновляется;
-
Если m < 0, выдаётся ошибка.
При двух аргументах m и n, ROWS ограничивает update записей от m до n включительно.Оба аргумента – целочисленные, и начинаются с 1.
Особенности:
-
Если m больше количества записей в целевой таблице, ни одна запись не обновляется;
-
Если n больше количества записей в целевой таблице, то обновляются записи от m до конца набора;
-
Если m < 1 или n < 1, выдаётся ошибка;
-
Если n = m - 1, ни одна запись не обновляется;
-
Если n < m - 1, выдаётся ошибка.
ROWS
в операторе UPDATE
-- дать надбавку 20ти сотрудникам с наименьшей зарплатой
UPDATE employees
SET salary = salary + 50
ORDER BY salary ASC
ROWS 20;