SQL 解説書

LOCK TABLE

LOCK TABLE ステートメントは、 複数の並行するアプリケーション・プロセスによる表の変更や、表の使用を防止します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは動的 SQL ステートメントの使用によって発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。

許可

このステートメントの許可 ID には、以下の特権が少なくとも 1 つ含まれている必要があります。

構文

>>-LOCK TABLE--table-name--IN----+-SHARE-----+--MODE-----------><
                                 '-EXCLUSIVE-'
 

説明

table-name
該当の表を指定します。 table-name は、アプリケーション・サーバーに存在する表を指定していなければならず、 カタログ表は指定できません。 ニックネーム (SQLSTATE 42809) や宣言された一時表 (SQLSTATE 42995) を指定することはできません。 table-name がタイプ付き表である場合、 その表は表階層のルート表でなければなりません (SQLSTATE 428DR)。

IN SHARE MODE
複数の並行するアプリケーション・プロセスが、 その表に対して読み取り専用以外の操作を実行するのを防止します。

IN EXCLUSIVE MODE
複数の並行するアプリケーション・プロセスが、 その表に対してどのような操作も実行できないようにします。 ただし、EXCLUSIVE MODE は、 非コミット読み取り分離レベル (UR) で実行している並行アプリケーション・プロセスが、 その表に対して読み取り専用操作を実行することは妨げない点に注意してください。

表 EMP に対するロックを入手します。 他のプログラムは、その表の読み取りや更新を行うことができなくなります。

   LOCK TABLE EMP IN EXCLUSIVE MODE


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