2012-03-01 6 views
0

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

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

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

+1

Какие СУБД и версия вы используете? –

+0

Я использую Oracle 11g – xwhyz

ответ

0

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

+0

Я, вероятно, не могу - я просто хочу достичь того, что я описал, и этот фрагмент кода является каким-то описанием. Я отредактирую его, потому что это может ввести в заблуждение :) – xwhyz

+0

Пожалуйста, разместите некоторые данные примера, если вы можете ... – Teja

+0

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

3

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

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

Я получаю ошибку вокруг SET teeest.order = RowNumb - «SQL-команда не была правильно закончена». Я пробовал с RowNum, а также с псевдонимом RowNumb – xwhyz

+0

Ха-ха, упс. Я отредактировал свой ответ. Я опустил подзапрос из таблицы. Вы повторили эту ошибку? –

+0

Ошибка в командной строке: 2 колонки: отчет 29 Ошибка: Ошибка SQL: ORA-00933: polecenie SQL niepoprawnie zakończone 00933. 00000 - "Команда SQL не правильно закончился" Что вокруг первой переменной RowNum – xwhyz

Смежные вопросы