 |
SQL Engine Reference (v11) |
 |
|
サンプル XML ファイルの実行例
サンプル XML ファイルおよびデータ ファイルは、file_path¥PSQL¥samples¥cobolschemaexec フォルダー内に提供されています。Pervasive PSQL ファイルのデフォルトの保存場所については、『Getting Started with Pervasive PSQL』の Pervasive PSQL ファイルがインストールされる場所を参照してください。
Schema Executor を使って XML ファイル SampleMainTable.xml を実行するには、次の手順に従います。
- 接続するデータベースのデータ ファイル フォルダーに
maintbl.mkd
をコピーします。
- たとえば、データベース "test" があり、データ ファイルの場所は c:¥data¥test であるとします。c:¥data¥test へ maintbl.mkd をコピーします。
- PSQL¥bin¥ ディレクトリでコマンド プロンプトを開きます。
- DOS プロンプトで次のコマンドを実行します。
cobolschemaexec
file_path¥PSQL¥samples¥cobolschemaexec¥samplemain
table.xml test
- Schema Executor の実行が成功したら、(XML ファイルに指定されている)テーブル
maintbl
が "test" データベースに作成されます。
- これで、PCC を使って、テーブル
maintbl
で SQL 操作を実行できます。
補注
このセクションでは、SELECT ステートメントおよびテーブル フィルターに関する注意事項を提供します。
SELECT ステートメント
OCCURS テーブルで SELECT クエリを実行すると、次の内容が返されます。
- OCCURS テーブルの列
- マッピング インデックスを構成するメイン テーブルの列
- OCCURS 句の出現回数を示す OCCURS カウンター
たとえば、次のサンプル XML ファイルについて Schema Executor を実行した結果作成されるテーブルに対し、SELECT * FROM FIELD というクエリを実行するとします。
file_path¥PSQL¥samples¥cobolschemaexec¥SampleMainWithOccurs.xml
ユーティリティは、列 Id、OccursCounter、Field_1、Field_2、および Field_3 を返します。
REDEFINES テーブルで SELECT を実行すると、親テーブルの列と REDEFINES テーブルの列がすべて返されます。
たとえば、次のサンプル XML ファイルについて Schema Executor を実行した結果作成されるテーブルに対し、SELECT * FROM Redefined_group というクエリを実行するとします。
file_path¥PSQL¥samples¥cobolschemaexec¥SampleMainWithRedefines.xml
ユーティリティは、列 Id、Account_Num、Category、Redef_Struct_Num(親テーブルのすべての列)、および Redefined_field_1(REDEFINES テーブルの列)を返します。
テーブル フィルター
テーブル フィルター(サンプル XML ファイルでは "TABLEFILTER" と呼びます)は、特定のテーブルのフィルター条件です。
- TABLEFILTER の式は、左右両方のオペランドが列名であってもかまいません。たとえば、Cust_Num = My_Cust_Num と指定できます(Cust_Num と My_Cust_Num はどちらも列名です)。
- オペランドと演算子の間にスペースを入れてください。
- TABLEFILTER の式で定数を使用する場合は、値を一重引用符で囲んで指定する必要があります。
- 例:
Cust_Num = '100'
(Cust_Num は列名です)
- XML ファイルで TABLEFILTER を指定する場合は、次の XML エンティティを使用します。
XML エンティティ
|
使用目的
|
<
|
より小さい(<)
|
>
|
より大きい(>)
|
&
|
アンパサンド(&)(AND)
|
"
|
二重引用符(")
|
'
|
一重引用符(')
|
- 有効な TABLEFILTER の例:
- Cust_Num = '100' (Cust_Num = 100 と同等)
- Cust_Num < '100' (Cust_Num < 100 と同等)
- Cust_Num > '100' (Cust_Num > 100 と同等)
- Cust_Num <> '100' (Cust_Num <> 100 と同等)
- 'a' = Category | Account_Num <= 'a123' ('a'=category OR account_num <= 'a123' と同等)
- 'a' = Category & Account_Num = 'a123' ('a' = category AND account_num = 'a123' と同等)
- Cust_Num = My_cust_Num (両オペランドが列名)
 SQL アクセスの使用 |
 Query Plan Viewer |
|