アプリケーション開発の手引き

データ操作言語 (DML) の使用

一般に、DML ステートメントは高い移植性を持ちます。 SELECT、 INSERT、 UPDATE、および DELETE ステートメントは、 IBM リレーショナル・データベース製品すべてで同様に使用されます。ほとんどのアプリケーションは主として、 DB2 コネクト・プログラムがサポートしている DML SQL ステートメントを使用します。

数値データ・タイプ

数値データが DB2 ユニバーサル・データベースに転送されると、データ・タイプが変更されることがあります。数値およびゾーン 10 進数 SQLTYPE (DB2 ユニバーサル・データベース (AS/400 版) でサポート) は、固定 (パック) 10 進数 SQLTYPE に変換されます。

混合バイト・データ

混合バイト・データは、同一の列にある拡張 UNIX コード (EUC) 文字セット、 2 バイト文字セット (DBCS)、および 1 バイト文字セット (SBCS) の文字からなります。 EBCDIC でデータを保管するシステム (OS/390、OS/400、VSE、および VM) では、シフトアウト文字とシフトイン文字により 2 バイト・データの始点と終点がマークされます。データを ASCII 形式で保管するシステム (OS/2 および UNIX など) では、シフトイン文字およびシフトアウト文字は必要ありません。

アプリケーションが混合バイト・データを ASCII システムから EBCDIC システムに転送する場合、シフト文字を入れる余地を確保してください。それぞれのデータを SBCS データから DBCS データへ切り替える際に、データ長に 2 バイトが追加されます。移植性を高めるためには、混合バイト・データを使用するアプリケーションにおいて可変長文字ストリングを使用してください。

長フィールド

長フィールド (254 文字より長いストリング) は、別のシステムでは扱いが異なります。 AS/400 サーバーでは長形式フィールドにはスカラー関数のサブセットしかサポートしていません。たとえば、DB2 ユニバーサル・データベース (OS/390 版) では長形式フィールドには LENGTH および SUBSTR 関数しか使用できません。また、AS/400 サーバーでは特定の SQL ステートメントに対して異なる処理が必要になります。たとえば、DB2 (VSE および VM 版) では INSERT ステートメントにはホスト変数、SQLDA、またはヌル値しか使用できません。

ラージ・オブジェクト (LOB) データ・タイプ

LOB データ・タイプは DB2 コネクトによってサポートされます。

ユーザー定義タイプ (UDT)

DB2 コネクトは、ユーザー定義特殊タイプをサポートしています。抽象データ・タイプはサポートしていません。

ROWID データ・タイプ

ROWID データ・タイプは、 DB2 コネクトによってビット・データ用の VARCHAR として扱われます。

64 ビット整数 (BIGINT) データ・タイプ

8 バイト (64 ビット) 整数は、DB2 コネクトによってサポートされます。 BIGINT 内部データ・タイプは、データの精度を保ちながら大規模データベースのカーディナリティーをサポートするために使われます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]