DB2 一時テーブルの移行

HCOSS は DECLARE GLOBAL TEMPORARY TABLE 文をサポートします。これを実行すると、HCOSS は SQL Server の一時テーブルを作成します。HCOSS はグローバル一時テーブルに対する SESSION 修飾子の使用のみをサポートし、SESSION スキーマ内の通常のテーブルの使用はサポートしません。

HCOSS は、CREATE 文を使用して作成した一時テーブルの直接移行をサポートしません。ただし、CREATE 文を DECLARE 文に変換し、変換した CREATE 文が作成したテーブルを参照するプログラムの最初にその DECLARE 文を追加することで、このような一時テーブルに対応できます。DECLARE 文をプログラムに追加する場合は、次のガイドラインが該当します。
  • メインフレームで CREATE されたグローバル一時テーブルへのアクセスの修飾子として SESSION スキーマを使用するようにアプリケーションを変換する必要があります。
  • テーブルは複数回 DECLARE できます。すでに存在するグローバル一時テーブルに対して DECLARE 文を実行しても効果はありません。
該当するプログラムに DECLARE 文を追加すると、HCOSS はテーブルを次のように変換します。
  • DECLARE GLOBAL TEMPORARY TABLE を実行すると、HCOSS は一時テーブルを作成します。
  • SQL Server の一時テーブル名は常に # で始まるため、HCOSS はメインフレーム コードで使用される元のテーブル名の先頭に # 記号を加えて一時テーブル名を生成します。たとえば、元のテーブル名が EMP の場合、SQL Server の一時テーブル名は #EMP となります。