XDBでのデータベースの定義,操作およびAPの制御は,SQLと呼ばれるデータベース言語の機能を用いて行います。XDBでのSQLの機能体系を次の図に示します。
図1-1 XDBでのSQLの機能体系
機能体系ごとのSQLの分類および機能を次の表に示します。
表1-1 機能体系ごとのSQLの分類および機能
項番 | 分類 | SQL | 機能 |
---|---|---|---|
1 | 定義系SQL | CREATE INDEX(インデクスの定義) | 表の列にインデクスを定義します。 |
CREATE TABLE(表の定義) | 表を定義します。 | ||
2 | 操作系SQL | CLOSE(カーソルのクローズ) | カーソルを閉じ,FETCH文による検索結果の取り出しを終わらせます。 |
3 | DECLARE CURSOR(カーソルの宣言) | 問合せ指定の検索結果をFETCH文で1行ずつ取り出すために,カーソルを宣言します。 | |
4 | DELETE(行の削除) | 指定した探索条件を満たす行を表から削除します。 | |
5 | FETCH(行の取り出し) | 取り出す行を示すカーソルの位置を次の行に進めます。 | |
6 | INSERT(行の挿入) | 表に行を挿入します。 直接,値を指定して一つの行を挿入できます。 | |
7 | OPEN(カーソルのオープン) | カーソルを開きます。 検索結果の先頭の行の直前にカーソルを位置づけて,検索結果を取り出せる状態にします。 | |
8 | SELECT(表の検索) | 表のデータを検索します。 | |
9 | 1行SELECT(表の1行検索) | 表のデータを検索します。 表から1行だけデータを取り出す場合は,カーソルを使用しないでデータを取り出す1行SELECT文を指定します。 | |
10 | UPDATE(行の更新) | 指定した探索条件を満たす行の指定した列の値を更新します。 | |
11 | 埋め込み言語 | BEGIN DECLARE SECTION(埋め込みSQLの開始宣言) | 埋め込みSQL宣言節の始まりを示します。 埋め込みSQL宣言節には,SQL中で使用する埋め込み変数および標識変数を指定します。 |
12 | COPY(登録集原文の引き込み) | 登録集原文をソースプログラム中に引き込みます。 | |
13 | END DECLARE SECTION(埋め込みSQLの終了宣言) | 埋め込みSQL宣言節の終わりを示します。 | |
14 | END-EXEC(SQL終了子) | SQLの終わりを示します。 | |
15 | EXEC SQL(SQL先頭子) | SQLの始まりを示します。 | |
16 | SQLCODE変数 | SQLの実行後,XDBから返されるリターンコードを受け取ります。 | |
17 | WHENEVER(埋め込み例外宣言) | SQLの実行後,XDBがSQL連絡領域に設定したリターンコードによって,UAPの処理を宣言します。 |
定義系SQLのSQL文種別と実行可能なインタフェースを次の表に示します。
表1-2 SQL文種別と実行可能なインタフェース(定義系SQL)
項番 | SQL文種別 | インタフェース | ||
---|---|---|---|---|
XDBサービス定義 | eexdbsqlコマンド | UAPでの使用 | ||
1 | CREATE INDEX | ○ | × | × |
2 | CREATE TABLE | ○ | × | × |
操作系SQLのSQL文種別と実行可能なインタフェースを次の表に示します。
表1-3 SQL文種別と実行可能なインタフェース(操作系SQL)
項番 | SQL文種別 | インタフェース | ||
---|---|---|---|---|
XDBサービス定義 | eexdbsqlコマンド | UAPでの使用 | ||
1 | CLOSE | × | × | ○ |
2 | DECLARE CURSOR | × | × | ○ |
3 | DELETE | × | ○ | ○ |
4 | FETCH | × | × | ○ |
5 | INSERT | × | ○ | ○ |
6 | OPEN | × | × | ○ |
7 | SELECT | × | ○ | × |
8 | 1行SELECT | × | × | ○ |
9 | UPDATE | × | ○ | ○ |
埋め込み言語は埋め込み型のUAPで使用できます。