SSMSで改行を削除する方法は?


22

私は次のように見えるSQLを扱っています

create procedure


as


begin

asとの間の大きなギャップに注意してくださいbegin

これらを削除するにはどうすればよいですか?SQLフォーマッターを使用しましたが、これは機能しません。

回答:


22

SQL Server Management Studio(SSMS)には、空白行削除するコマンドがありますが、デフォルトではメニュー、ツールバーアイコン、またはキーボードショートカットでは使用できません。

これを定期的に行う必要がある場合は、メニュー、ツールバー、またはショートカットを編集してこのコマンドを追加してください。たとえば、このコマンドを[編集/詳細設定]メニューに追加するには:

[ツール]メニューから[カスタマイズ]を選択します。

ツールメニューウィンドウ

表示されるウィンドウで、[コマンド]タブを選択し、メニューバーのリストをドロップダウンして[ 編集 ]を選択します上級

カスタマイズウィンドウ

次に、[ コマンドの追加 ] クリックします

コマンド選択を追加

[ 編集]カテゴリを選択し、[ コマンド]リストをスクロールして[空白行の削除]を選択します。

コマンドウィンドウの追加

これが完了すると、[空白行の削除]が[編集/詳細設定]メニューに表示されます。上記の[カスタマイズ]ダイアログには、コマンドをメニューに配置したり、キーボードショートカットを追加したり、ツールバーにコマンドのアイコンを追加したりするための他のオプションがあります。


3
実際、そこにあるコマンドを調べると、あらゆる種類の編集オプションのショートカットを作成できます。SQLエディターウィンドウをviやemacsのように動作させるための設定を作成できるのではないかと思います。
Rob Farley

19

検索と置換でこれを行うことができますが、埋め込み改行を含む文字列リテラルがある場合、これらも変更されることに注意してください。

次の例では、連続する改行のすべてのインスタンスを検索し、それらを単一の改行に置き換えます。

  1. Ctrl+ H[検索と置換]ダイアログを開く
  2. 何を見つける: \n+
  3. と置換する \n
  4. ダニ Use -> Regular Expressions
  5. 置換/すべて置換をクリックします
  6. Use -> Regular Expressions次回そのダイアログを使用するときに混乱を招く結果を避けるためにチェックを外します。

ここに画像の説明を入力してください


1

SSMSの正規表現を使用して実行できます。

  1. Ctrl-Hで検索と置換ウィンドウを表示します
  2. [使用]-> [正規表現]を選択します
  3. Find Whatに^ \ nを入力します
  4. 空に置換してください
  5. 置換(すべて)をクリックします

0

多くの場合、新しい行は\ r \ n文字で構成されているため、Martinの返信でサブポイント2を置き換えてみてください。検索対象:(\ r \ n)+ 3。サブポイント3の置き換えを試みます。^(\ r \ n)+を入れます。これにより、変更の発生回数が最小限に抑えられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.