NULL
22.2 埋め込み SQL の構成要素
埋め込みSQLタスクの作成
図22.2:[SQLコマンド ]ダイアログ
1.[タスク環境]メニューから[SQLコマンド ]を選択します。この後、[SQLコマンド ]ダ イアログが 開きます( 図22.2)。
2. [データベース]フィールドをズームして、[データベース一覧]を開きます。
3. データベースを選択します。このデータベースに対して、埋め込みSQLが機能することになります。
SQL コマンド
[SQLコマンド ]ダ イアログに定義したSQLステート メントについては、その構文はdbMAGICによりチェッ クされることはありません。また、指定したSQLステート メントは、dbMAGICではなく、RDBMS側です べて処理されます。実行時、エラーが発生したときには 、dbMAGICのタスクは終了し 、エラーメッセージ が表示されます。
DBMSでは、通常、定義済みプロシージャ(たとえば 、ストアドプロシージャ )の作成やコンパイルが可能 ですが 、[SQLコマンド ]ダ イアログでは、こういった定義済みプロシージャの名前を指定することもでき ます。定義済みプロシージャの名前を指定した場合、そのプロシージャはRDBMS側で実行されます。また、
定義済みプロシージャは、SQLコマンドと同じようにして使用できます。その場合、定義済みプロシージャ にも、通常の埋め込みSQLコマンド と同じ規則が使われます。
入力パラメータ
埋め込みSQLコマンドには、「コロン(:)+数値」の形式でパラメータ識別子を指定できます。この「コロ ン(:)+数値」は、SQLコマンド フォームの[入力パラメータ]テーブルの値に置き換えられます。この場 合、パラメータは 、SQLコマンド の準備処理の直前に計算され 、続いて、「コロン(:)+数値」が計算済み の値に置き換えられます。その後、SQLステート メントがRDBMSに送られ 、構文のチェック後、実行され ます。
SQLコマンド の構文は 、必ず、そのSQLコマンド の実行の前に検証されます。これは 、タスクが常駐タス クであっても同じです。一般に、入力パラメータは 、WHERE句のプレースホルダとして使用します。
22
出力パラメータ
SQL SELECTステート メントやストアドプロシージャを使うことで、標準のメインテーブルのデータビュー のほかにもデータビューを作成できます。この場合、SQLコマンド の出力パラメータの値は、結果テーブル やデータストリームの形で出力されますが 、dbMAGIC側では 、こういったデータを格納するバッファが用 意されます。このバッファは、SQLコマンド のタスクで定義されている変数項目に対応する形式で用意され ます。この変数項目は、そのデータ型や書式が 、SQLコマンドで生成されるデータのデータ型と書式と一致 していなければなりません。
アシスト ユーティリティ
SQLステート メントのうち、テーブル名やカラム名が必要なSQLステート メントは、アシストユーティリ ティを使用して簡単に作成できます。
SQLコマンド を使う場合にはSQL言語の知識が必要になりますが 、これは 、アシストユーティリティを使 うときでも同様です。
アシストユーティリティは、通常、データベースのテーブル名やカラム名を定義するSQLステート メントで 使用します。ただし 、アシストユーティリティを使うときには、ステート メントの構文に注意しなければな りません。たとえば 、アシストユーティリティでは、次のようなSELECTステート メントが作成されます。
SELECT ALL FROM EMPLOYEE
上記のSELECTステート メントは、構文上、正しくありません。正しい構文は次のようになります。
SELECT * FROM EMPLOYEE
アシスト ユーティリティの使用方法
図22.3:[SQLアシスト ]ダイアログ
SQLガ イド 22.2埋め込みSQLの構成要素 22–5
1. [SQLコマンド ]ダ イアログの[アシスト ]ボタンをクリックします。クリック後、[SQLアシスト ] ダ イアログが開きます( 図22.3)。
2.[キーワード ]ボタンをクリックします。または、
;
CTRL
+
;
K
を押します。これで、カーソルが[キー ワード ]ボックスに置かれます。
3. 方向キーを使用してカーソルを「SELECT」に合わせます。
4.
;
ENTER
キーを押します。これで、[SQLコマンド ]ボックスに「SELECT」という文字が表示され ます。
5. [ 開く]ボタンを押します。または 、
;
CTRL
+
;
O
を押し ます。これで、カーソルが[演算子]ボッ クスに置かれます。
6. 方向キーを使用してカーソルを「*」に合わせます。
7.
;
ENTER
キーを押します。これで、[SQLコマンド ]ボックスの「SELECT」という文字に「*」と空 白が追加されます。
8. [SQLコマンド ]ボックスで、スペースを入力した後、「FROM」を入力します。
9. [テーブル]ボタンをクリックします。
10. 方向キーを使用して、「EMPLOYEE」というテーブルを選択します。
11. ENTERキーを押します。これで、「EMPLOYEE」が追加されます。
[SQLアシスト ]ダ イアログでは 、テーブル名は、dbMAGICのテーブル名で表示することもできますし 、 RDBMSのテーブル名で表示することもできます。テーブル名は、[表示切替]ボタンをクリックして、dbMAGIC のテーブル名とRDBMSのテーブル名を交互に切り替えることができます。ただし 、ど ちらのテーブルを選 択していても、[SQLコマンド ]ボックスでは必ず、RDBMSのテーブル名が表示されます。
注意:
[テーブル ]ボックスに表示されるテーブルは、dbMAGICの[テーブル ]リポジトリで定義されてい るテーブルに限られます。ただし 、SELECTステート メントでは、dbMAGICの[テーブル ]リポジト リで定義されていなくても、データベースで利用可能なテーブルであれば 、任意のテーブルを指定でき ます。
SQL コマンド での APG
dbMAGICには、アシストユーティリティのほか、SQL APGユーティリティも用意されています。このAPG を使うことで、SQLステート メントをもとにプログラムを作成することができます。また、APGで作成した プログラムでは、実行前にSQLステート メントのチェックが行われます。SQL APGでは、SELECTステー ト メントのほかストアドプロシージャを指定することもできます。
SQL APGで作成されたプログラムには、次のようなコマンド やフォームが含まれます。
■ SQLコマンド
■ 結果テーブルのカラムについての[セレクト変数項目]コマンド とそれらの変数の定義
■ 出力パラメータテーブル( 自動変数項目付き)
■ デフォルトのフォーム(ユーザによる操作用)
なお、SQLコマンド の入力パラメータが必要な場合、そのパラメータを定義します。デフォルトのフォーム を変更してもかまいません。
22 APGユーティリティの使用方法
図22.4:[APG]ダイアログ
1.[SQLコマンド ]ダ イアログの[APG]ボタンをクリックします。クリック後、[APG]ダ イアログが 開きます( 図22.4)。
2.
;
ENTER
キーを2回押します。
3.
;
F7
キーを押します。これで、プログラムが実行されます。
4. [ 出力パラメータ]欄にカーソルを移動し 、ズームします。これで、APGユーティリティで作成され た出力パラメータが表示されます。この出力パラメータは、[項目一覧]の変数項目に対応しています。