首页 > 解决方案 > 如何基于迭代更新Oracle中具有不同值的表

问题描述

我想用第一次迭代或第一项的不同值更新 Oracle 中的表。我不确定我该怎么做。

例如,我希望第一次迭代或第一次更新为:

UPDATE PRODUCTS SET INFO = 'RELATED PRODUCTS' || RELATED_PRODUCT_ID || ',';
COMMIT;

以及以下仅包含 RELATED PRODUCT_ID 的迭代,如下所示:

UPDATE PRODUCTS SET INFO = RELATED_PRODUCT_ID || ',';
COMMIT;

非常感谢您的时间和提前帮助!

标签: sqloracleoracle11g

解决方案


不确定您的要求,但据我了解,您可以在以下情况下使用案例:

UPDATE PRODUCTS SET INFO = 
    CASE WHEN INSTR(INFO,'RELATED PRODUCTS') = 1 
         THEN RELATED_PRODUCT_ID 
         ELSE 'RELATED PRODUCTS' || RELATED_PRODUCT_ID || ',' 
     END;
COMMIT;

干杯!!


推荐阅读