これを行う唯一の方法は、システム テーブルを使用して問題のデータベース/スキーマ内のすべてのフィールドのリストを取得するストアド プロシージャを作成することです。システム テーブルを除外して (またはユーザー定義のテーブルのみを含めて)、システム テーブルの問い合わせで見つかった列/テーブルに基づいて SQL 更新ステートメントを動的に書き出します。この記事のように正規表現または文字削除を使用する
問題のシステム テーブルは次のとおりです。
SELECT
table_name,column_name
FROM
information_schema.columns
疑似コードは次のようになります。
Get list of tables we want to do this for
For each table in list
get list of columns for table that have string data.
For each column in table
generate update statement to strip unwanted characters
--Consider writing out table, column key, before after values to history table. incase this
has to be undone.
--Consider counter so I have an idea of what was updated
execute updatestatement
next column
next table
write out counter