DB SQL は、SQLテーブルがメインソースに設定されているタスクで使用できます。
DB SQL機能の目的は、プログラマーがSQLタスクを使用しなくても、Magic xpaで自動的に生成されたWhere句のほかに、SQL専用のWhere句も使用できるようにすることや、Magic xpaで生成されたWhere句を表示できるようにすることにあります。
注意: |
遅延トランザクションタスクでDB SQLを使用する場合、別のタスクで更新されたデータソースの更新内容は表示されません。 |
ここでは、Magic xpaのカラムを使用した、SQL構文によって範囲を記述します。記述された範囲条件は、Magic SQL Where句で定義された範囲条件に追加されます。
[DB SQL]特性でダブルクリックすると[項目一覧]が表示されます。ここには、[DB SQL]特性で使用できる全てのデータ項目が表示されます。
メインソースや結合テーブルの実データ …… DBカラム名に置き換わります。
親タスクのデータ項目 …… 親タスクの値に置き換わります。
現在のタスクの変数項目とその他の実データ …… それぞれの値に置き換わります。
[DB SQL]は、DB SQL が記述されているフリーテキストを参照します。[DB SQL]領域には、2種類の文字列が記述できます。詳細は次のとおりです。
項目番号(A、B、Cなど)の先頭に':'記号を付けて記述
このカラムがメインソースまたは結合テーブルである場合は、そのDBカラム名に置き換わります。その他の場合は、データの型に応じた値に置き換わります。文字型カラムの場合は、末尾の空白が削除され、引用符が付加されます。
項目番号(A、B、Cなど)の先頭に'@'記号を付けて記述
メインソースまたは結合テーブルの実データでなく、型が文字型の場合はこの方法を使用します。この場合、カラムが値に置き換わりますが、引用符は付加されません。
Magic xpaは、カラムをその内容で置き換える場合、カラムの型と記憶域がチェックされます。文字型の場合は、必要に応じて引用符が付加されます。文字型カラムに引用符が付加されないように、記述するプログラムの全ての種類を有効にするには、@記号を接頭辞としてカラムに追加する必要があります。
例えば、次の場合を想定します。
「Employee. jobname」というDB名の実データ「A」と、「Vjobname」という名前で、実行時の値が「AB」の文字型カラム「B」があるとします。この時、DB SQLに以下のように記述します。
:A like 'B%' |
この場合、表示は以下のようになります。
Employee. jobname like'B%' |
(テーブル名はリンク結合が発生した場合のみ追加されます)
実行時の変換結果は、以下のようになります。
jobname like 'B% ' |
また、DB SQLに以下のように記述します。
:A like :B |
この場合、表示は以下のようになります。
Employee. jobname like [ "Vjobname"] |
(テーブル名はリンク結合が発生した場合のみ追加されます)
実行時の変換結果は、以下のようになります。
jobname like 'AB' |
次に、「Vjobname」という記述(名前)で、実行時の値が「like」の変数項目「C」があったとします。DB SQLに以下のように記述します。
:A @:C :B |
この場合、以下のように置き換わります。
jobname [Voperation] [" Vjobname"] |
実行時の変換結果は、以下のようになります。
jobname like'AB' |
関連トピック: