
No.1ベストアンサー
- 回答日時:
エラー処理などは入れておりません。
置換対象のDBは、実行する場所に依存しております。
実行は読み出し例:
----------------------------------------------------
EXEC 全置換 '検索文字列','置換文字列'
----------------------------------------------------
このコードは全角スペースを利用しています。
「全角スペース1個」→「半角スペース2個」に置き換えて利用してください。
CREATE PROCEDURE 全置換
(
@検索文字 AS NVARCHAR(MAX),
@置換文字 AS NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @tbl SYSNAME
DECLARE @col SYSNAME
DECLARE cur CURSOR FOR
SELECT A.name AS TBL,B.name AS COL
FROM SYS.TABLES A
INNER JOIN Sys.Columns B ON A.object_id = B.object_id
ORDER BY A.name, B.column_id
OPEN cur
FETCH cur INTO @tbl,@col
WHILE @@FETCH_STATUS=0
BEGIN
DECLARE @prm NVARCHAR(MAX)
SET @prm = '@find NVARCHAR(MAX), @rep NVARCHAR(MAX)'
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'UPDATE ' + @tbl + ' SET '
SET @sql = @sql + '[' + @col + '] = REPLACE([' + @col + '], @find, @rep) '
SET @sql = @sql + 'WHERE [' + @col + '] LIKE ''%'' + @find + ''%'''
EXECUTE sp_executesql @sql, @prm, @find=@検索文字, @rep=@置換文字
FETCH cur INTO @tbl,@col
END
CLOSE cur
DEALLOCATE cur
END
ありがとうございました!! 無事変換できました!!!
中のロジックなどはまだ理解できておりませんが、勉強させていただきます。
大変助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
顧客データベースを作る場合、...
-
エクセルの関数を使用して文字...
-
Oracleのスペース文字について。
-
ストアドプロシージャーの作成方法
-
マイクラPC版のコマンドで効率...
-
MERGEコマンドについて
-
アドインの削除
-
エクセルの関数について教えて...
-
text型のデータをintegerにキャ...
-
行数の取得
-
英語での答え方はこれで正解で...
-
for whichの使い方
-
no pain , no gain
-
サブクエリ
-
GROUP BY関係で、こんなことは...
-
抽出したデータの結合
-
MySQL5.5 viewの処理速度改善に...
-
FPDFを利用したサンプルコード
-
Mysql でレコードを追加した時...
-
JpGraphの棒グラフの項目を変え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
顧客データベースを作る場合、...
-
あいまい検索で英文字の全角半...
-
スペースを検索したい
-
select文のwhere句に配列を入れ...
-
SQLServer2005のストアドプロシ...
-
末尾の全角スペースの削除
-
INSERT文などの列名などの半角...
-
WHERE条件の最終桁のスペースに...
-
ストアドの戻り値で配列を返す方法
-
外部結合で取得した項目にNVL関数
-
SQL SERVER 2005 にて全テーブ...
-
管理工学研究所のデーターベー...
-
DTSパッケージについて
-
Trimの使い方
-
SUBSTR関数の結果が予想と異なる
-
ORACLEの「DECODE」と同じ意味...
-
SQLでUPDATEするときサブクエリ...
-
ストアドプロシージャーの作成方法
-
イコールとノットイコール条件...
-
PHPでPostgreSQLを使う場合
おすすめ情報