HTMLコンテンツを含むテーブルがあります。このコンテンツには、1つまたは複数のURLを含めることができます。また、関連するリライトを持つURLを含むマッピングテーブルがあります。 すべてのURLを書き換えて置き換えるためには、各HTMLコンテンツでできることが必要です。テキストフィールド内の複数の文字列置換
ユースケース(Postgresの9.5)のよう
row1: 1, 'A BA POM CHU'
row2: 2, 'B AB'
row3: 3, 'C CHU NOTA CA'
がrewrite
テーブルに新しい行を追加する:
row3: 3, 'NOTA', 'ISB'
TABLE some_content (content_id int4, content text)
row1: 1, 'A BA BLAH PIKA',
row2: 2, 'B AB',
row3: 3, 'C PIKA NOTA CA'
TABLE rewrite (rule_id int4, old_string text, new_string text)
row1: 1, 'PIKA', 'CHU',
row2: 2, 'BLAH', 'POM'
クエリは、次のセットをouputをすべきです
は、結果セットを(int4、text)に変換します。
row1: 1, 'A BA POM CHU'
row2: 2, 'B AB'
row3: 3, 'C CHU ISB CA'
何かヒント?
Postgresのバージョン、テーブル定義? –
@ErwinBrandstetterが追加されました。ありがとうございました – greg
テーブル 'rewrite'にID列があるはずです。原則として、また、置換が適用される順序が重要なためです。さらに、単語全体(区切り記号*正確に*を定義する)または任意の一致を置き換えるだけでよいかどうかを明確にします。 –