Обновление столбца и введение условия - PullRequest
1 голос
/ 13 марта 2012

Основной вопрос, начинающий пользователь.

У меня есть столбец (цена) в таблице (комната).Столбец (цена) имеет ограничение, которое должно быть между 20 и 100.

Мне нужно обновить столбец (цену), чтобы отразить повышение цены на 5%.Однако некоторые из полей в этом столбце будут иметь цену> 100 после обновления, в результате чего оно выходит за пределы ограничения.Чтобы решить эту проблему, нужно установить те цены, которые превышают 100.Вот что у меня есть:

UPDATE ROOM
SET PRICE=
CASE 
   WHEN PRICE*1.05<100 
   THEN PRICE*1.05
   ELSE PRICE=100
END CASE
WHERE HOTELNO='1004' OR
      HOTELNO='1001' OR
      HOTELNO='1002'
;

Лучшее, что я мог придумать в своих поисках.Я получаю следующую ошибку:

ORA-00905: отсутствует ключевое слово

Используется Oracle 10g.

Заранее благодарим за любую помощь.

1 Ответ

1 голос
/ 13 марта 2012

попробуйте следующий

update room
set price=price*1.05
where hotelno in ('1004','1001')
and (price*1.05)<100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...