Navicatブログ

Navicat 独自の構文を用いたクエリのカスタマイズ Nov 13, 2024 by Robert Gravelle

データベースの管理および開発ツールである Navicat のすべてのエディション(Navicat Premium Lite も含みます)において利用可能なコードスニペットを使用すると、SQL エディタで作業する際に、再利用可能なコードを SQL ステートメントに挿入できます。組み込みのスニペットのコレクションにアクセスできるだけでなく、独自のスニペットを定義することもできます。組み込みカテゴリの一つは、クエリ結果タブ名をカスタマイズしたり、実行時パラメータを提供したりするための、Navicat 独自の特別な構文を提供します。今日のブログでは、無料の MySQL Sakila データベースNavicat Premium 17 を使用して、クエリで両方のスニペットを使用する方法を紹介します。

コード・スニペット・ペインについて

SQL エディタの右側に位置するコード・スニペット・ペインは、SQL エディタで作業中は、再利用可能なコードを SQL ステートメントに簡単に挿入できます。エディタウィンドウが Navicat メインウィンドウにドッキングされている場合は、情報ペインの () アイコンをクリックして、スニペットライブラリを表示できます。

query_editor_with_code_snippets_pane (158K)

コードスニペットのドロップダウンメニューで 「Navicat-only Syntax 項目を選択すると、今日学ぶ 二つのコードスニペットを表示できます。

navicat-only_syntax_drop-down_item (21K)

結果タブ名のカスタマイズ

クエリによって生成された各結果セットは、クエリエディタの下にある別のタブに表示されます。各タブには、デフォルトで「結果 n」という名前が付けられます。ここで、「n」はクエリが実行された順序です。たとえば、最初のクエリは「結果 1」、2 番目のクエリは「結果 2」という名前になります。 Clicking the "Customize Result Tab Name" snippet will insert some special Navicat-only

「Customize Result Tab Name スニペットをクリックすると、エディタの現在のカーソル位置に Navicat 独自の特別な構文が挿入されます。

customize_result_tab_name_syntax (9K)

「tab_name のテキストを目的のタブ名に置き換え、「Statement...」プレースホルダーを SQL に置き換えると、クエリを実行したときに指定した名前で結果が表示されるようになります:

custom_result_tab (91K)

クエリエディタにコードスニペットを挿入するには、他にもいくつかの方法があります。

  • 1. ライブラリからエディタにスニペットをドラッグアンドドロップする。もしくは、
  • 2. エディタでスニペットの名前の入力を開始する。スマートコード補完により、単語補完の候補リストが自動的にポップアップ表示されます。そこから、リスト中のスニペットを選択して、エディタにコードを挿入できます。

    auto-complete (49K)

実行時パラメータの提供

ストアドプロシージャを使用する利点の一つは、値をハードコーディングするのではなく、一つ以上の入力パラメータを指定できることです。Navicatの実行時パラメータ・コード・スニペットのおかげで、通常のSELECTステートメントを使用して同じ結果を得ることができます。

「Runtime Parameter スニペットをクリックすると、エディタの現在のカーソル位置にパラメータのプレースホルダーを挿入します。

runtime_parameter_syntax (29K)

ここでクエリを実行すると、Navicat は使用する値を入力するためのパラメータ入力ダイアログを表示します。

input_parameter_dialog (70K)

まとめ

今日のブログでは、クエリ結果タブ名をカスタマイズしたり、クエリに実行時パラメータを提供したりするための、Navicat 独自の構文コードスニペットの使用方法を学びました。これらは Navicat Premium 17 で実行されました。Navicat Premium 17 を試してみたいと思いませんか? Windows、macOS、および Linux オーティングシステムで利用できる14 日間すべての機能が評価できる無料トライアル版をダウンロードできます。

ブログのアーカイブ
シェア