Hsqldb rownum в выражении UPDATE

Привет, у меня проблема с этим запросом:

обновить EXAMPLETABLE установить FLAG = 1, где FLAG = 0 и rownum < 10;

Этот запрос работает в Oracle (он обновляет ровно 9 строк), но не в моем тестовом примере с hsqldb (оператор обновляет ВСЕ строки в EXAMPLETABLE).

Я использую также SET DATABASE SQL SYNTAX ORA TRUE; в сценарии генерации hsqlDb. Я использую hsqlDb только в памяти.

Эта функция не реализована в hsqlDb?

Спасибо роберто

1 ответ

Эта функция не реализована в HSQLDB. Это может быть поддержано в режиме ORACLE в ближайшем будущем. (обновление: теперь поддерживается в 2.2.6 и более поздних версиях).

Есть принципиальная проблема с этим типом заявления. Поскольку строки могут быть возвращены в любом порядке, обновление выполняется для почти произвольного подмножества строк с заданным параметром FLAG.

Другие вопросы по тегам