ページの本文へ

Hitachi

プラットフォームソフトウェア

XDM/RD E2のSQLインタフェースはISO-SQL、ISO-RDAなどの国際標準に準拠しているだけでなく、SQL標準に沿って、機能を強化しています。

生成列

生成列とは、同一表内のある列の値を元に、列の値を生成する機能のことです。
生成列を使用すると、参照する列の値が変更になった場合に、生成列の値も自動的に更新されます。
生成列は表定義時に指定するだけで簡単に実現できます。

生成列イメージ

SQL手続き文のエラー制御機能(ハンドラ)

SQL手続き文中でエラーが発生したときの後処理(ハンドラ)をSQL呼び出しルーチン中に記述できます。
エラー種別ごとに後処理を記述したり、エラー発生後に実行するSQLを指定したりすることで、今までエラーで終了していた処理を継続できます。

SQL手続き文のエラー制御機能(ハンドラ)イメージ

外部表アクセス

業務ごとや部門ごとにシステムを構築した結果、さまざまな情報が異なるDBMSで管理されている場合があります。XDM/RD E2の外部表アクセス機能を利用すると外部のDBMSが管理する表にXDM/RD E2のインタフェースで透過的にアクセスできます。
外部表アクセス機能はSQL標準化動向をふまえ国際規格SQL/MED仕様に基づいて実装するものです。
XDM/RD E2では、RDBMSのHiRDB、Oracle(Oracle 8i、Oracle 9i、およびOracle 10g)、およびMicrosoft SQL Server、ならびに非RDBMSであるXDM/SD E2、ADMをサポートしています。

外部表アクセスイメージ

シーケンス生成子

シーケンス生成子とは、データベース中でデータを呼び出すごとに一連の整数値(これを現在基底値と呼びます)を返す機能です。例えば、「データを挿入するごとに特定の列の値を自動的にカウントアップする」といった使い方をします。
シーケンス生成子を使用すれば、ロールバックが発生しても現在基底値は変更されないため、トランザクションの状態とは無関係に、データを一意に識別したり、処理の順序性を確認したりするなどの運用ができます。
シーケンス生成子には外部シーケンス生成子と内部シーケンス生成子の2種類があり、必要に応じて使い分けることができます。

外部シーケンス生成子
外部シーケンス生成子は、SQL文中に指定されたNEXT VALUE式を実行することで現在基底値の次の値を返します。表には依存しないため、複数の表に渡って通番を付与するといった使い方が可能です。
内部シーケンス生成子
内部シーケンス生成子は、表の列定義に指定して、その表へのデータの追加または更新によって現在基底値の次の値を返します。表ごとに通番を付与するといった使い方が可能です。

シーケンス生成子イメージ

LIMIT句

これまで問合せ式の結果は、結果集合としてすべての検索結果から検索する必要がありましたが、LIMIT句によって、問合せ式の検索結果から、必要な行を先頭から指定した分だけ取り出したり、不要な行を先頭から指定した分だけ読み飛ばすことができるようになりました。
例えば、「SELECT * FROM T1 ORDER BY C1 LIMIT 9,20」と指定することにより、検索結果の10行目から20行分の行を受け取ることができます。
LIMIT句を使用すると検索結果を複数画面に分けて受け取るWeb検索画面などが簡単に実現できます。

WRITE LINE文

WRITE LINE文とは、SQLプロシジャやトリガSQLに記述してデバック情報を出力するSQLです。UNIX/Windows上のHiRDBクライアントとXDM/RD E2が接続している場合に使用できます。
WRITE LINE文を用いて出力されたデバッグ情報を利用すると、SQLプロシジャやトリガSQLの動作を確認できるので、デバッグ作業の効率が向上します。

WRITE LINE文イメージ

位置付け子

UAPとデータベースとの間で画像などの長大データを扱うときに、実際にデータの実体を受け渡すとデータ転送量が増加してしまい、非効率的です。このようなときは、データと一対一で対応し、元データそのものように振る舞う位置付け子を使用することができます。位置付け子を使用すると、長大データをUAPに取り出さないで受け渡しができるため、UAPとXDM/RD E2との間でのデータ転送量を縮小できます。また、ユーザ領域に長大データの実体を保持しないため、使用メモリを削減できます。

位置付け子イメージ