2

+100 個のテーブルを持つ DB があります。ほとんどのテーブルには URL を保存する列がありますが、「列名」が異なり、URL も異なります。例えば

1つのテーブルで

usa3030.Development.com/portal/mybook/chapter1/page1/line1

そして別のものでは

usa3030.Development.com/portal/mybook/chapter1

などですが、確かに各 URL には「usa3030.Development.com/portal/mybook/chapter1」が含まれています。

したがって、列データ内にテキストがある各列を見つけるクエリが必要です(「*」を使用すると、ワイルドカードと呼ばれると思います)

"usa3030.Development.com/portal/mybook/chapter1"

そしてそれを

usa3030.Development.com/MyWorld/Chp1

答え

ストアド プロシージャの検索または置換

4

1 に答える 1

1

ここでは、次の手順を実行する必要があると思います。

DECLARE @string varchar(max)
For each table in sys.Objects (where type='U')

      For each column of the above table

        IF EXISTS(select * from tablename where colname like '%'+@string+'%')
        update table tablename SET colnmae=REPLACE(colname,'old','new') where colname like '%'+@string+'%')
于 2012-08-15T09:49:54.550 に答える