在一个SQL命令中更新表中的多个行

时间:2013-04-01 16:35:41

标签: mysql sql oracle

假设我有一个名为'PRODUCTS'的表格,我需要在销售完成后更新此表格。有没有办法将所有更新合并到一个SQL语句中?

目前我有类似的东西:

UPDATE PRODUCT
SET PROD_Q=PROD_Q - 1
WHERE PROD_CODE='A'

UPDATE PRODUCT
SET PROD_Q=PROD_Q - 1
WHERE PROD_CODE='B'

...

有没有更有效的方法呢?

2 个答案:

答案 0 :(得分:3)

这是您正在寻找的 - 使用IN

UPDATE PRODUCT 
SET PROD_Q=PROD_Q - 1
WHERE PROD_CODE IN ('A','B')

答案 1 :(得分:1)

你试过

吗?
UPDATE PRODUCT SET PROD_Q=PROD_Q-1 WHERE PROD_CODE='A' OR PROD_CODE='B'

这将更新prod_code

的两个值