我的要求是我使用regex_like函数在表中搜索一堆列:下面是一个示例:
SELECT *
FROM dsopi_person_addr_rule ADDR
WHERE regexp_like (UPPER(addr.src_address_line1),
'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG')
现在,如果我找到匹配项,我想要从src_address_line1获取值并将其放在同一个表的另一列中。我知道如何做到这一点,但任何人都可以建议如何有效地做到这一点。我愿意使用游标。
答案 0 :(得分:1)
你不需要光标
UPDATE dsopi_person_addr_rule ADDR
SET new_col = addr.src_address_line1
WHERE regexp_like (UPPER(addr.src_address_line1),
'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG')
答案 1 :(得分:-1)
我将看一下CONTAINSTABLE子句,但这需要启用/创建FULLTEXT索引。