Oracle10g 更新列并引入条件

Oracle10g 更新列并引入条件,oracle10g,Oracle10g,基本问题,开始使用 我在桌子(房间)上有一列(价格)。列(price)有一个限制,它必须介于20和100之间 我需要更新列(价格),以反映5%的价格上涨。但是,此列中的某些字段在更新后的价格将大于100,从而导致价格下降 在约束之外。为了解决这个问题,那些超过100的价格需要改为设置为100。以下是我所拥有的: UPDATE ROOM SET PRICE= CASE WHEN PRICE*1.05<100 THEN PRICE*1.05 ELSE PRICE=100

基本问题,开始使用

我在桌子(房间)上有一列(价格)。列(price)有一个限制,它必须介于20和100之间

我需要更新列(价格),以反映5%的价格上涨。但是,此列中的某些字段在更新后的价格将大于100,从而导致价格下降 在约束之外。为了解决这个问题,那些超过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'
;
更新室
定价=
案例
当价格*1.05时,尝试以下操作

update room
set price=price*1.05
where hotelno in ('1004','1001')
and (price*1.05)<100
更新室
设定价格=价格*1.05
何处酒店号('1004','1001')
和(价格*1.05)尝试以下内容

update room
set price=price*1.05
where hotelno in ('1004','1001')
and (price*1.05)<100
更新室
设定价格=价格*1.05
何处酒店号('1004','1001')

(price*1.05)为什么在你看到答案后它看起来如此明显??谢谢为什么在你看到答案后它看起来如此明显??谢谢