1

私の要件は、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から値を取得して、同じテーブルの別の列に配置します。私はこれを行う方法を知っていますが、誰でもこれを効率的に行う方法をお勧めできます。私はカーソルを使用することにオープンです。

4

2 に答える 2

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')
于 2012-10-18T21:12:42.647 に答える
-1

CONTAINSTABLE句を見てみますが、それにはFULLTEXTインデックスを有効化/作成する必要があります。

http://msdn.microsoft.com/en-us/library/ms189760.aspx

于 2012-10-18T21:14:38.323 に答える