SQL 文の作成
[クエリ実行] テキスト・ボックスにより、SELECT クエリや CALL クエリを記述できますが、それだけでなく、CREATE TABLE などの DDL 文や、INSERT、UPDATE、DELETE などの DML 文を含めて、大半の SQL 文も記述できます。
以下を使用して、[クエリ実行] テキスト・ボックスで SQL コードを指定できます。
-
テキスト・ボックスに SQL コードを入力 (または貼り付け) ます。SQL コードの領域では、SQL テキストはカラー表示されず、構文や存在の検証も行われません。ただし、自動スペル検証は行われます。[X] アイコンを使用して、テキスト・ボックスの内容を消去できます。
-
[履歴を表示] リストを使用して、前の SQL 文を選択します。選択した文がテキスト・ボックスにコピーされます。文を実行すると、この文は [履歴を表示] リストの一番上に移動します。[履歴を表示] には、実行に失敗した文も含め、以前に実行されたすべての文がリストされます。
-
テーブルのドラッグ・アンド・ドロップを使用して、テキスト・ボックスで SQL コードを作成します。
-
[クエリ実行] テキスト・ボックスではなく [クエリ・ビルダ] を使用して、SELECT クエリを指定および実行できます。[クエリ・ビルダ] を使用して実行された SELECT クエリは、[クエリ実行] には表示されず、[履歴を表示] にはリストされません。
[クエリ実行] テキスト・ボックス内の SQL コードには、以下を含めることができます。
-
? 入力パラメータ。TOP ? や WHERE Age BETWEEN ? AND ? のような入力パラメータを指定すると、[実行] ボタンに [クエリのパラメータ値を入力してください] ウィンドウが表示されます。このウィンドウには、クエリに指定した順序でパラメータごとの入力フィールドが表示されます。? 入力パラメータの詳細は、このドキュメントの “ダイナミック SQL の使用法” の章の "SQL 文の実行" を参照してください。
-
空白文字。複数の空白スペース、1 つまたは複数の改行を指定できます。Tab キーは無効にされます。コードを SQL コードの領域にコピーすると、既存のタブは単一の空白スペースに変換されます。改行および複数の空白スペースは保持されません。
-
コメント。SQL コードの領域では、1 行および複数行のコメントがサポートされています。コメントは保持され、[履歴を表示] 表示に示されます。コメントは [プラン表示] の [文テキスト] 表示またはクエリ・キャッシュには表示されません。
-
複数の結果セットを返すクエリ。
テキスト・ボックスで SQL コードを作成したら、[プラン表示] ボタンをクリックすれば、SQL コードを実行せずに SQL コードをチェックすることができます。コードが有効な場合、[プラン表示] にクエリ・プランが表示されます。コードが無効な場合、[プラン表示] に SQLCODE エラー値とメッセージが表示されます。[プラン表示] ボタンを使用して、最後に実行した SQL コードについても、この情報を表示できます。
SQL コードを実行するには、[実行] ボタンをクリックします。
テーブルのドラッグ・アンド・ドロップ
画面の左側にある [テーブル] リスト (または [ビュー] リスト) からテーブル (またはビュー) をドラッグし、それを [クエリ実行] テキスト・ボックスにドロップして、クエリを生成できます。これにより、テーブル内の非表示でないすべてのフィールドの select-item リストが指定された SELECT、およびテーブルを指定する FROM 節が生成されます。その後、さらにこのクエリを変更し、[実行] ボタンを使用して実行できます。
画面の左側にある [プロシージャ] リストから、プロシージャ名をドラッグ・アンド・ドロップすることもできます。
SQL 文の結果
[クエリ実行] テキスト・ボックスで SQL コードを記述したら、[実行] ボタンをクリックしてそのコードを実行できます。SQL 文が正常に実行されると、結果がコード・ウィンドウの下に表示されます。SQL コードが失敗すると、エラー・メッセージがコード・ウィンドウの下に (赤色で) 表示されます。[プラン表示] ボタンを押すと、SQLCODE エラーとエラー・メッセージが表示されます。
[クエリ実行] では、SQL コード実行はバックグラウンド・プロセスとして実行されます。コードの実行中、[実行] ボタンは [キャンセル] ボタンに置き換わります。これにより、長時間実行されているクエリの実行をキャンセルできます。
クエリ・データの表示
結果セットはテーブルとして返されます。その際、[行番号] ボックスにチェックが付けられている場合は、最初の列 (#) として行カウンタが表示されます。残りの列は、指定した順に表示されます。RowID (ID フィールド) は、表示される場合も非表示の場合もあります。各列は列名 (または、指定した場合は列のエイリアス) で識別されます。集計、式、サブクエリ、ホスト変数、またはリテラルの SELECT 項目は、列エイリアスによって (指定されている場合)、または Aggregate_、Expression_、Subquery_、HostVar_、または Literal_ という文字列のすぐ後に SELECT 項目のシーケンス番号 (既定では) が続く文字列によって識別されます。
行または列にデータがない (NULL) 場合は、結果セットに空白のテーブル・セルが表示されます。空の文字列リテラルを指定すると、HostVar_ フィールドが空白のテーブル・セルと共に表示されます。NULL を指定すると、Literal_ フィールドが空白のテーブル・セルと共に表示されます。
選択したフィールドが日付、時刻、タイムスタンプ、または %List エンコードされたフィールドの場合、表示される値は表示モードによって異なります。
以下の表示機能は、管理ポータルの SQL インタフェース [クエリ実行] の結果表示および [テーブルを開く] のデータ表示に固有です。
同じクエリをダイナミック SQL コード、SQL シェル、または埋め込み SQL コードを使用して実行した場合、これらの結果表示機能は使用されません。
指定したクエリが 1 つ以上の結果セットを返した場合、[クエリ実行] ではこれらの結果セットが [結果 #1]、[結果 #2] などの名前のタブとして表示されます。
履歴の表示
現在のセッション中に実行された既存の SQL 文をリストするには、[履歴を表示] をクリックします。[履歴を表示] には、このインタフェースから呼び出したすべての SQL 文 (正常に実行された文と、実行に失敗した文の両方) がリストされます。既定では、SQL 文は実行時間順にリストされ、最後に実行した文がリストの先頭に表示されます。任意の列見出しをクリックして、SQL 文を列の値別に昇順または降順で並べ替えることができます。[履歴を表示] リストから SQL 文を実行すると、その [実行時間] (ローカルの日付とタイムスタンプ) が更新され、その [カウント] (実行された回数) がインクリメントされます。
[履歴を表示] リストをフィルタ処理するには、[フィルタ] ボックスに文字列を指定してから Tab キーを押します。文字列を含む履歴項目のみが、更新されたリストに含まれます。フィルタ文字列は、[SQL文] 列 (テーブル名など) または [実行時間] 列 (データなど) で見つかった文字列のいずれかとなります。フィルタ文字列では、大文字と小文字は区別されません。フィルタ文字列は、明示的に変更するまで有効です。
[履歴を表示] から SQL 文を選択してその文を変更および実行できます。これにより、その文が [クエリ実行] テキスト・ボックスに表示されるようになります。[クエリ実行] で、SQL コードを変更してから [実行] をクリックします。[履歴を表示] から取得した SQL 文を変更すると、その文は新規文として [履歴を表示] に保存されます。これには、大文字と小文字、空白、またはコメントの変更など、実行に影響しない変更が含まれます。空白は [履歴を表示] には表示されませんが、SQL 文が [履歴を表示] から取得されるときには保持されます。
未変更の SQL 文は [履歴を表示] リストから直接実行 (再実行) できます。これを行うには、[履歴を表示] リスト内のその SQL 文の右にある [実行] ボタンをクリックします。
[プラン]、[印刷]、[削除] のボタンを選択することもできます。[印刷] ボタンをクリックすると [クエリ印刷] ウィンドウが表示され、クエリ・テキストおよびクエリ結果セットを印刷するかファイルにエクスポートするかを選択できます。[削除] ボタンは、履歴から SQL 文を削除します。[履歴を表示] リストの最後にある [すべて削除] ボタンは、履歴内のすべての SQL 文を削除します。
[履歴を表示] リストは、クエリ・キャッシュのリストと異なる点に注意してください。[履歴を表示] は、実行中に失敗したものも含めて現在のセッションから呼び出された SQL 文をリストします。