ユーザーが Anita Jones のレコードを従業員表に挿入します。 レコードには、Anita の識別番号 (128557) と、名前、写真、音声録音が入っています。 ソース・イメージと音声自体は、サーバーのファイルにあります。 画像は BLOB として表に保管されており、音声の内容はサーバーのファイルに残ります (表の項目はサーバー・ファイルを参照します)。
ユーザーが行うこと: ユーザーは、次の例に示すステートメントを組み込んだアプリケーション・プログラムを使用してレコードを従業員表に挿入します。
EXEC SQL BEGIN DECLARE SECTION; long hvInt_Stor; long hvExt_Stor; EXEC SQL END DECLARE SECTION; hvInt_Stor = MMDB_STORAGE_TYPE_INTERNAL; hvExt_Stor = MMDB_STORAGE_TYPE_EXTERNAL; EXEC SQL INSERT INTO EMPLOYEE VALUES( '128557', /*id*/ 'Anita Jones', /*name*/ DB2IMAGE( /*Image Extender UDF*/ CURRENT SERVER, /*database server name in*/ /CURRENT SERVER register*/ '/employee/images/ajones.bmp' /*image source file*/ 'ASIS', /*keep the image format*/ :hvInt_Stor, /*store image in DB as BLOB*/ 'Anita''s picture'), /*comment*/ DB2AUDIO( /*Audio Extender UDF*/ CURRENT SERVER, /*database server name in*/ /*CURRENT SERVER register*/ '/employee/sounds/ajones.wav', /*audio source file*/ 'WAVE', /* audio format */ :hvExt_Stor, /*retain content in server file*/ 'Anita''s voice') /*comment*/ ); |
その結果: INSERT ステートメントの DB2Image UDF に応答して、イメージ・エクステンダーは以下のことを行います。
イメージ・ソースは、ajones.bmp という名前のサーバー・ファイルにあります。 ファイルの内容は、管理サポート表のレコードに BLOB として挿入されます。 保管されるイメージの形式はソース・イメージと同じです (つまり、形式の変換は行われません)。
INSERT ステートメントの DB2Audio UDF への応答として、オーディオ・エクステンダーは以下のことを行います。
音声の内容は ajones.wav というサーバー・ファイルにありますが、管理サポート表のレコードによりそのファイルを参照されます。
トリガーは、画像や音声の属性データをいろいろな管理サポート表に挿入します。