GLOBAL TEMPORARY TABLE
DB2 でを作成しています。そして私がサーフィンをしたとき、私は作成する2つの方法を手に入れました 1.宣言 2.作成。
1. DECLARE GLOBAL TEMPORARY TABLE SESSION.TEMP_EMP
(EMPNO CHAR(6) NOT NULL,
SALARY DECIMAL(9, 2),
BONUS DECIMAL(9, 2),
COMM DECIMAL(9, 2)) WITH REPLACE ON COMMIT PRESERVE ROWS ;
2. CREATE GLOBAL TEMPORARY TABLE TMPDEPT
(TMPDEPTNO CHAR(3) NOT NULL,
TMPDEPTNAME VARCHAR(36) NOT NULL,
TMPMGRNO CHAR(6),
TMPLOCATION CHAR(16) ) ON COMMIT PRESERVE ROWS ;
また、IBM サイトから、create は永続的であるため、すべてのユーザー セッションが起動時に宣言しなくても同じテーブル定義にアクセスでき、さらに多くの利点があるため、create が最適であるという情報を入手しました。
リンク: http://www.ibm.com/developerworks/data/library/techarticle/dm-0912globaltemptable/
そして、宣言よりも作成を使用するクエリはほとんどありませんでした:
Replace
の使用中にキーワードが見つかりませんでしたCREATE GLOBAL TEMPORARY TABLE
。接続を開いてストアド プロシージャを実行し、
そのストアド プロシージャ内でグローバル一時テーブルを作成し、そのストアド プロシージャ内で別のストアド プロシージャを呼び出しているシナリオを考えてみsame
ましょう。 . 両方のテーブル名が同じで、単一の接続内にあるため、エラーがスローされますか?セッションがあると宣言し、セッションを作成しない?? これは持続性に関連していますか??
パフォーマンスに関しては、どちらが優れていますか? temp を宣言するか、temp を作成しますか?
宣言/作成の最適な使用法について、いくつかのシナリオを提案してください!!