
| ・ |
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。
|
| ご利用の皆様から多く寄せられる質問にお答えしています。 |
|
| ・ |
ディーエーオフィスなどが利用する用語に関する解説を行います。
|
|
|
 |
 |  |
PostgreSQLでテーブルの操作をロックし、待たせるにはどうしますか? |
LOCK TABLEを使います。
トランザクションと呼ばれる機能がSQLにはあり、PostgreSQLでも使えるようになっています。テーブルをロックするには、トランザクション中に「LOCK TABLE」を行うことで、同時処理の場合、処理が終わるまで順番に処理させることができます。
! 例
以下のようなSQLを複数、同時に実行するとき、1つずつ処理し、例え同じSQLを同時に複数実行しようとしても、1つのSQLがBEGINからCOMMITまでをひとまとめにして実行が終わるまでは、他のSQLの実行を許可せず、待たせます。
BEGIN;
LOCK TABLE t;
SELECT f FROM t;
INSERT INTO t (f) VALUES ('test');
COMMIT;
|
| 文書番号 |
06398 |
| 日付 |
2006.04.12 |
| 参照数 |
579 |
|