2019年3月29日金曜日

A5:SQLの便利機能

どうも、ひさびさのもりもりです。

はい、もりーとは別人です。

はい。

早速ですが、最近知った、衝撃的だったニュースです。

今回はA5:SQL Mk-2の便利な機能を紹介したいと思います。
というより、このツールをもう何年も使ってるのですが全然知らずで。。。

その機能というのが、「ソース文字列生成」と「コードストリッパー」です。

えぇぇぇぇぇっ!?
そんなん知らんかったん!?!?!?

というお声はナシでお願いします。。。

はい、知らなかったのです。。。
私もショックでした。。。
今まで、サクラなどのテキストエディタに貼っ付けて、矩形選択や正規表現の置換を駆使して頑張ってました。。。
はい。。。
まぁそんな駆使するほど難しいことでもないのですが、今回紹介する「ソース文字列生成」と「コードストリッパー」が
これまた便利のなんのって!

ご存知の方は無視してください。

ソース文字列生成


下記のようなSQLがあるとします。

SELECT *
  FROM TABLE_A
 WHERE COL1 = 'XXXX'

これをソースコードにSQL文の文字列としてコピペしたい!

そんなときはA5:SQLのSQLエディタで下記を実行するだけ!

1.SQLを選択



2.右クリック → ソース文字列生成 → ルールを選択
  ※今回はC#を例に挙げます。



3.生成された文字列を確認



4.ソースを貼り付け

var sb = new StringBuilder();

sb.Append("SELECT * ");
sb.Append("  FROM TABLE_A ");
sb.Append(" WHERE COL1 = 'XXXX' ");


そうです。
これだけなんです。

なんで今まで誰も教えてくれなかったんや~~~!!!
(いや、自分でメニューじっくり見ろよ。。。って話ですよね!すんません!)

今回はStringBuilder用の文字列を指定しましたが単純な文字列の連結やカスタムルールで作成することも可能です。

・単純な文字列の連結

var sql =
    "SELECT * "
    + "  FROM TABLE_A "
    + " WHERE COL1 = 'XXXX' ";

・カスタムルール
  先頭に「sb.AppendLine($" 」を付けて、「 ")」で閉じる



var sb = new StringBuilder();
var name = "MORI";

sb.AppendLine($" SELECT * ");
sb.AppendLine($"   FROM TABLE_A ");
sb.AppendLine($"  WHERE COL1 = '{name}' ");


サンプルのように数行だけなら全然エディタでの置換でもいいのですが、数十行のSQLになると矩形選択がまぁ面倒ですわね。
でもこれならイッパツでできます!

コードストリッパー


次は逆パターンで、ソースコードからSQLだけを抜き出します。

1.ソースのコピー

sb.AppendLine($" SELECT * ");
sb.AppendLine($"   FROM TABLE_A ");
sb.AppendLine($"  WHERE COL1 = 'XXXX' ");

2.A5:SQLのSQLエディタに貼り付けて選択



3.右クリック → コードストリッパー → XXXXのソースから~を選択



4.SQLを確認


ホンマこのツール、フリーとは思えない!

ご存知でない方は今すぐにでもご使用ください!

ではまた~



2 件のコメント:

  1. 私もいま知りました。今からたくさん;;使おうと思います。ありがとうございます!

    返信削除
  2. お役に立てて良かったです。

    返信削除