Мне нужно обновить STATUS = 'R' для заданного значения X, MONTH и YEAR и STATUS = 'C' для всего, что было до предыдущего года.
(я использую переменные вместожестко запрограммированные значения для X, MONTH и YEAR, приведенные ниже показатели являются лишь примером того, что я пытаюсь)
update A set STATUS = 'R'
where X =1
and MONTH = 7
and YEAR = 2011;
update A set STATUS = 'C'
where X = 1
and MONTH < 7
and YEAR <= 2011
and YEAR >= 2011 - 1;
Вывод выглядит как ( неверный вывод ):
....X YEAR MONTH STATUS
....1 2010 1 C
....1 2010 2 C
....1 2010 3 C
....1 2010 4 C
....1 2010 5 C
....1 2010 6 C
....1 2010 7 R //Actually this shoud be updated to C
....1 2010 8 R //Actually this shoud be updated to C
....1 2010 9 R //Actually this shoud be updated to C
....1 2010 10 R //Actually this shoud be updated to C
....1 2010 11 R //Actually this shoud be updated to C
....1 2010 12 R //Actually this shoud be updated to C
....1 2011 1 C
....1 2011 2 C
....1 2011 3 C
....1 2011 4 C
....1 2011 5 C
....1 2011 6 C
....1 2011 7 R
Теперь первый запрос на обновление работает нормально, как мы видим выше.теперь я ожидаю изменить все вышеперечисленное на STATUS = 'C', но оно не применяется к 7-12 месяцам 2010 года.
, пожалуйста, предложите.Oracle 9i Enterprise Edition release 9.2.8.0 - 64 bit Production