Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (A ~ D)

 

CREATE LOCAL TEMPORARY TABLE 文

プロシージャ内でこの文を使用して、プロシージャが完了した後も、明示的に削除されるか接続が終了するまで保持されるローカル・テンポラリ・テーブルを作成します。

構文
CREATE LOCAL TEMPORARY TABLE table-name
( { column-definition [ column-constraint ... ] | table-constraint | pctfree }, ... )
[ ON COMMIT { DELETE | PRESERVE } ROWS | NOT TRANSACTIONAL ]
pctfree : PCTFREE percent-free-space
percent-free-space : integer
パラメータ

column-definitioncolumn-constrainttable-constraintpctfree の定義については、CREATE TABLE 文を参照してください。

  • ON COMMIT 句   デフォルトでは、テンポラリ・テーブルのローは COMMIT のときに削除されます。ON COMMIT 句を使用すると、COMMIT のときにローを保護できます。

  • NOT TRANSACTIONAL 句   状況によっては、NOT TRANSACTIONAL 句を使用するとパフォーマンスが向上します。これは、トランザクション単位でないテンポラリ・テーブルでの操作では、ロールバック・ログにエントリが作成されないためです。たとえば、テンポラリ・テーブルを使用するプロシージャが COMMIT や ROLLBACK の介入を受けずに繰り返し呼び出される場合、NOT TRANSACTIONAL が有用です。

備考

プロシージャの完了後も保持されるテーブルを作成する場合、DECLARE LOCAL TEMPORARY TABLE 文ではなく CREATE LOCAL TEMPORARY TABLE 文をプロシージャに使用します。CREATE LOCAL TEMPORARY TABLE 文を使用して作成されたローカル・テンポラリ・テーブルは、明示的に削除するか接続が終了するまで保持されます。

CREATE LOCAL TEMPORARY TABLE を使用して IF 文で作成されたローカル・テンポラリ・テーブルは、IF 文が完了した後も保持されます。

パーミッション

なし

関連する動作

なし

参照
標準と互換性
  • SQL/2003   コア SQL に含まれない SQL/基本機能。

次の例は、TempTab というローカル・テンポラリ・テーブルを作成します。

CREATE LOCAL TEMPORARY TABLE TempTab ( number INT ) 
ON COMMIT PRESERVE ROWS;