LOCK [ TABLE ] name [, ...] [ IN lockmode MODE ] [ NOWAIT ] ������lockmode�ϰʲ��Τ����줫�Ǥ��� ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE
LOCK TABLE�ϥơ��֥��٥�Υ��å����������ɬ�פǤ���ж��礹����å�����������ޤ��Ե����ޤ��� NOWAIT�����ꤵ�줿��硢LOCK TABLE���оݤΥ��å��������Ǥ���ޤ��Ե����ޤ��� �����˳����Ǥ��ʤ���С����Υ��ޥ�ɤ���ߤ������顼����Ϥ��ޤ��� ���å��ϡ����ټ��������ȸ��ԤΥȥ�������λ����ޤ��ݻ�����ޤ��� (UNLOCK TABLE�Ȥ��ä����ޥ�ɤϤ���ޤ��� ���å��ϥȥ�������ν�λ���˾�˲������ޤ���)
�ơ��֥�Ȥ��륳�ޥ�ɤΤ���˼�ưŪ�˥��å�����������硢PostgreSQL�Ͼ�˻��Ѳ�ǽ�ʰ��ּ夤���å��⡼�ɤ���Ѥ��ޤ��� LOCK TABLE�Ϥ�����¤ζ������å���ɬ�פʾ��Τ�����Ѱդ���Ƥ��ޤ��� �㤨�С����ץꥱ�������Υ��٥�READ COMMITTED�ǥȥ��������¹Ԥ������Υȥ�������δ�����ơ��֥�Υǡ����ΰ�������μ¤ˤ���ɬ�פ��������ͤ��Ƥߤޤ��� �����ã�����뤿��ˡ��䤤��碌�¹����˥ơ��֥����Τ�SHARE���å��⡼�ɤ���Ѥ��뤳�Ȥ��Ǥ��ޤ��� ����ˤ�ꡢ�ǡ�����Ʊ�����ѹ������Τ��ɤ�������ʹߤΥơ��֥���ɤ�����ꤵ���뤳�Ȥ��Ǥ��ޤ��� �ʤ��ʤ�SHARE���å��⡼�ɤϽ���¦����������ROW EXCLUSIVE���å��ȶ��礹��Τ�LOCK TABLE name IN SHARE MODEʸ�ϡ�ROW EXCLUSIVE��Ʊ���ݻ������ƤΥ��ߥåȤޤ��ϥ�����Хå�����Τ��ԤĤ���Ǥ��� ���Τ褦�ˡ����٥��å����������ȡ����ߥåȤ���Ƥ��ʤ����֤ν��ߤϤʤ��ʤꡢ�桼�������å���������ޤ�ï����ߤϤ��뤳�ȤϤǤ��ޤ���
���ꥢ�饤���֥��Υ��٥�ǤΥȥ�������¹���ˤ����Ʊ�ͤθ��̤�����ˤϡ����Ƥ�SELECTʸ�ȥǡ��������Ѥ�ʸ��¹Ԥ�������LOCK TABLEʸ��¹Ԥ���ɬ�פ�����ޤ��� ���ꥢ�饤���֥�ʥȥ�������¦���黲�Ȥ���ǡ����ξ��֤ϡ��ǽ��SELECTʸ�ޤ��ϥǡ���������ʸ�����Ϥ��줿�����Ǹ��ꤵ��ޤ��� �ȥ���������Ǹ��LOCK TABLE��ԤäƤ�Ʊ�����ߤ��ɤ��ޤ������ȥ���������ɤ߹����оݤΥǡ��������ߥåȤ��줿�ǿ����ͤ��б����Ƥ��뤫���ݾڤ���ޤ���
���Τ褦�ʥȥ�������ǥơ��֥���ǡ������ѹ�������ϡ�SHARE�⡼�ɤǤϤʤ�SHARE ROW EXCLUSIVE���å��⡼�ɤ���Ѥ���ɬ�פ�����ޤ��� ����ˤ�äơ����μ�Υȥ�������Ʊ����ʣ���¹Ԥ���뤳�Ȥ��ʤ��ʤ�ޤ��� SHARE ROW EXCLUSIVE����Ѥ��ʤ��ȡ��ǥåɥ��å���ȯ�������ǽ��������ޤ��� �Ĥޤꡢ2�ĤΥȥ��������ξ����SHARE�⡼�ɤ����������ΤΡ��ºݤ˹�����Ԥ������ROW EXCLUSIVE�⡼�ɤ�������뤳�Ȥ��Ǥ��ʤ��褦�ʾ��֤ˤʤ��ǽ��������ޤ��� (�ȥ������ȤΥ��å��϶��礷�ʤ��Τǡ��ȥ��������SHARE�⡼�ɤ��ݻ����Ƥ������ROW EXCLUSIVE��������뤳�Ȥ��Ǥ��ޤ��� ��������¾�Υȥ�������SHARE�⡼�ɤ��ݻ����Ƥ�����ˤ�ROW EXCLUSIVE��������뤳�ȤϤǤ��ޤ���) �ǥåɥ��å�����뤿��ˡ��μ¤����ƤΥȥ��������Ʊ�쥪�֥������Ȥ��Ф���Ʊ��ν��֤ǥ��å���������Ƥ��������� �ޤ���1�ĤΥ��֥������Ȥ��Ф���ʣ���Υ��å��⡼�ɤ�ƤӽФ���硢�ȥ�������Ͼ�˺Ǥ����¤ζ����⡼�ɤ�ǽ�˼������ʤ���Фʤ�ޤ���
���å��⡼�ɤȥ��å��������ˤˤĤ��ƤΤ��ܺ٤ˤĤ��Ƥ���12.3�Ȥ��Ƥ���������
���å������¸�Υơ��֥��̾���Ǥ� (����������̾�Ǥ��)��
LOCK a, b;�Ȥ������ޥ�ɤ�LOCK TABLE a; LOCK TABLE b;��Ʊ���Ǥ��� �ơ��֥��1��1��LOCK�ǻ��ꤵ�줿���֤ǥ��å�����ޤ���
���Υ��å��⡼�ɤǡ�����������å������礹����å����������ꤷ�ޤ��� ���å��⡼�ɤˤĤ��Ƥϡ���12.3���������ޤ���
���å��⡼�ɤ���ꤷ�ʤ���硢��äȤ����¤�����ACCESS EXCLUSIVE�����Ѥ���ޤ���
LOCK TABLE�����礹����å��γ������Ե����ƤϤʤ�ʤ����Ȥ���ꤷ�ޤ��� ���ꤷ�����å�(ʣ����)���Ե����뤳�Ȥʤ��������˳����Ǥ��ʤ���硢�ȥ�������ϥ��ܡ��Ȥ��ޤ���
LOCK TABLE ... IN ACCESS SHARE MODE�ˤϡ��оݥơ��֥��SELECT���¤�ɬ�פǤ��� ¾�η�����LOCK�ˤϡ�UPDATE��DELETE�����뤤�Ϥ���ξ���θ��¤�ɬ�פǤ���
LOCK TABLE�ϥȥ�������֥��å�����(BEGIN/COMMIT���ȹ礻)�ǤΤ�ͭ���Ǥ��� ���äơ��ȥ�������λ����ȥ��å���������ޤ��� �ȥ�������֥��å��γ�����LOCK TABLE���ޥ�ɤϤ��Υ��ޥ�ɤΤߤΥȥ��������������ޤ��Τǡ����Υ��å��ϼ����夹���˺������ޤ���
LOCK�ϥơ��֥��٥�Υ��å��Τߤ��ޤ��� ���Τ��ᡢ�⡼��̾��ROW���ޤޤ��Τ�Ŭ�ڤǤϤ���ޤ��� �����Υ⡼��̾�ˤ�äơ����å����줿�ơ��֥���Ǥιԥ�٥�Υ��å���������褦�Ȥ��Ƥ���ȡ��̾�ϲ�ᤵ��Ƥ��ޤ��Ǥ��礦�� �ޤ���ROW EXCLUSIVE�⡼�ɤ϶�ͭ��ǽ�ʥ��å��Ǥ��� LOCK TABLE�˴ؤ��Ƥϡ����ƤΥ��å��⡼�ɤ�Ʊ����̣����äƤ��뤳�Ȥ����դ��Ƥ��������� �㤦�Τϡ��ɤΥ⡼�ɤ��ɤΥ⡼�ɤȶ��礹�뤫�Ȥ�����§�����Ǥ��� �ºݤιԥ�٥���å��γ�����ˡ�ˤĤ��Ƥ�SELECT�ޥ˥奢��ڡ�������12.3.2��FOR UPDATE ���Ȥ��Ƥ���������
���������ơ��֥�ؤ�������Ԥʤ��ݤˡ��ץ饤�ޥꥭ���ơ��֥�ؤ�SHARE���å���������ޤ���
BEGIN WORK; LOCK TABLE films IN SHARE MODE; SELECT id FROM films WHERE name = 'Star Wars: Episode I - The Phantom Menace'; -- �쥳���ɤ��ʤ����ROLLBACK���Ƥ��������� INSERT INTO films_user_comments VALUES (_id_, 'GREAT! I was waiting for it for so long!'); COMMIT WORK;
�������Ԥʤ��ݤ˥ץ饤�ޥꥭ���ơ��֥��SHARE ROW EXCLUSIVE���å���������ޤ���
BEGIN WORK; LOCK TABLE films IN SHARE ROW EXCLUSIVE MODE; DELETE FROM films_user_comments WHERE id IN (SELECT id FROM films WHERE rating < 5); DELETE FROM films WHERE rating < 5; COMMIT WORK;
ɸ��SQL�ˤ�LOCK TABLE�Ϥ���ޤ��� ��������˥ȥ��������Ʊ������٥����ꤹ��SET TRANSACTION����Ѥ��ޤ��� PostgreSQL�Ϥ���⥵�ݡ��Ȥ��Ƥ��ޤ��� �ܺ٤�SET TRANSACTION�Ȥ��Ƥ���������
ACCESS SHARE��ACCESS EXCLUSIVE��SHARE UPDATE EXCLUSIVE���å��⡼�ɤ������PostgreSQL�Υ��å��⡼�ɤ�LOCK TABLE��ʸ��Oracle�Τ�Τȸߴ���������ޤ���