Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql动态替换_Sql_Oracle_Plsql - Fatal编程技术网

sql动态替换

sql动态替换,sql,oracle,plsql,Sql,Oracle,Plsql,我的要求是使用类似regex_的函数搜索表中的一组列:下面是一个示例: 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_l

我的要求是使用类似regex_的函数搜索表中的一组列:下面是一个示例:

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中获取值,并将其放在同一个表的另一列中。我知道如何做到这一点,但谁能推荐如何有效地做到这一点。我愿意使用游标。

你不需要游标

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')

我想看看CONTAINSTABLE子句,但这需要启用/创建全文索引


为什么要发布基于Oracle的问题的T-sql server答案?我没有看到Oracle标签。我想有时候我们甚至会让最简单的解决方案变得复杂,哈哈。。。谢谢你!我不明白为什么会有SQL标签。前几天,我因为用SQL标记询问MS SQL特定语法而被激怒。。我认为应该以某种方式澄清这一点。我认为您不应该在这里标记“SQL”。