Обновление выбранных строк, которые упорядочены - PullRequest
0 голосов
/ 02 марта 2012

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

Я хотел бы получить это в одном утверждении, если это возможно, и мне нужно это в моем коде Java, поэтому я не хотел бы использовать курсоры.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Похоже, что Oracle имеет ROW_NUMBER и PARTITION, так как насчет чего-то вроде этого:

UPDATE MyTable
SET MyTable.Value = RowNum
FROM MyTable
    JOIN
    (
        SELECT ID, 
            ROW_NUMBER() OVER (PARTITION BY UserName ORDER BY MyDate) AS RowNum
        FROM MyTable AS InnerTable
    ) AS Hierarchy
        ON MyTable.ID = Hierarchy.ID

Мне пришлось составить несколько столбцов, чтобы эта работа работала, так как ваш пример, похоже, не дает достаточносхемы.Но, в общем, как-то так должно работать

0 голосов
/ 02 марта 2012

Как можно задать несколько значений для столбца в предложении SET?

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