• 締切済み

指定した文字列を含む項目名を持ったテーブルに対し、値を置換

質問タイトルどおりです。指定した文字列を含む項目名を持ったテーブルに対し、値を置換するにはどうしたらよいでしょうか?教えて下さい。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

指定した文字列を含む項目名を持ったテーブルと項目を検索するにはシステムビューを利用します。 declare @val varchar(128) --指定した文字列 select object_name(object_id),name,type_name(user_type_id) from sys.columns c where name like '%'+@val+'%' もちろん、取得できた値はテーブルであり、フィールドですからそのままクエリには使えません。 したがって、動的クエリをくみ上げて実行するのですが、 >値を置換する の意味が広すぎてよくわかりません。 項目名を変更するのですか?(=ALTER TABLE) その項目名のデータを置き換えるのですか?(=UPDATE) どちらも不可能ではないです。が、かなりダイナミックな処理にみえます。

KOKORO80
質問者

お礼

自己解決してしまいました。 SQLのループ処理とシステムテーブルの検索で解決しました。 考えてくださりありがとうございました。

関連するQ&A