�ȥ������� �Ϥ��٤ƤΥǡ����١��������ƥ�Ǵ��äȤʤ복ǰ�Ǥ����ȥ�������δ���Ū������ʣ���μ���ñ��Ρ����Ƥ�̵�����פ����ˤޤȤᤢ���뤳�ȤǤ������οʹ�����ξ��֤Ϥۤ���ư���Ƥ���ȥ�������ϸ����ޤ��� �����ơ��ʤ�餫�Υ��顼������������ȥȥ�������δ�����ɤ��ΤǤ��� �Ǥ�����ǡ����١����ϥ��顼�θ����Ȥʤä����ˤ�äƤޤä����ƶ�����뤳�ȤϤ���ޤ���
����ޤ��礦�������ԤΥǡ����١����Ǥ�����¿���θܵҤθ��¤λĹ�Ȼ�Ź�����¶�Ĺ⤬��Ͽ����Ƥ���Ȥ��ޤ������ꥹ�θ��¤���ܥ֤θ��¤� $100.00 �����⤬���ä����Ȥ�Ͽ�������Ȥ��ޤ�������ä���˽��ñ�㲽����Ȥ��� SQL �ϤĤ��Τ褦�ˤʤ�ޤ���
UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; UPDATE branches SET balance = balance - 100.00 WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Alice'); UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Bob'; UPDATE branches SET balance = balance + 100.00 WHERE name = (SELECT branch_name FROM accounts WHERE name = 'Bob');
��Ƥ��� SQL ���ޥ�ɤξܤ������ȤˤĤ��ƺ��ΤȤ������פǤ���ޤ����פ����Ϥɤ��餫�Ȥ����Ф���ñ���������Ū��̤����������Ω����������³��������äƤ��뤳�ȤǤ�����Կ����Ȥ��ƤϤ���餹�٤Ƥι������Ԥ��뤫�⤷���Ϥޤä����Ԥ��ʤ��Τ������줫�γξڤ�ɬ�פǤ���$100.00 �����ꥹ�θ��¤��������줺�˥ܥ֤θ��¤˿�����ޤ��褦�ʥ����ƥ�����������äƤϤʤ�ޤ�������$100.00 ���ܥ֤˿�����ޤ�ʤ��ǥ��ꥹ�θ��¤��������Ȥ��줿�Ȥ����顢���ꥹ�Ϥ��ζ��Τ������ͤǤϤʤ��ʤ�Ǥ��礦�͡���������ǰ������Թ礬ȯ��������硢��̤˱ƶ������뤤���ʤ��³����¹Ԥ���ʤ��Ȥ����ξڤ�ɬ�פǤ���������³���� �ȥ��������˥��롼�ײ�����Ȥ��γξڤ������ޤ��� ����ȥ�������Ϥۤ��Υȥ������鸫�ƴ��뤹�뤫�ޤä���������ʤ��ä����Ȥ���������������Ū�ȸƤФ�ޤ���
�⤦�������ä���ȥ��������뤷�ǡ����١��������ƥब��ǧ�����Ф����ϳμ¤����ѤΤ�ΤȤ��Ƶ�Ͽ���졢���Ȥ�ľ��˥���å��夬�����ä��Ȥ��ƤϿ�ϼ����ʤ��Ȥ����ξڤ�ɬ�פǤ��� �㤨�Хܥ֤���ʬ�θ��¤��鸽��������Ȥ���Ź�ޤ���Ω����ä�ľ��˥ܥ֤θ��¤���ΰ�����Ȥ���Ͽ�������ƥ�Υ���å���Ǿä��Ƥ��ޤ����Ȥϼ���������ޤ��� �ȥ�������������Ƥ���ǡ����١����ǤϤ���ȥ�������ˤ�뤹�٤Ƥι��������Υȥ�������뤷�������Τ��ʤ����ˡʥǥ������ʤɤΡ˱�³Ū��Ͽ���֤˥�������ळ�Ȥ��ݾڤ��Ƥ��ޤ���
�ۤ��ˤ�ȥ�����������Υǡ����١����ν��פ������ϸ���Ū�����Ȥ�����ǰ�˿����ط����Ƥ��뤳�ȤǤ���ʣ���Υȥ�������Ʊ����ư��Ƥ���Ȥ������줾��Υȥ���������̤Υȥ����������ʤäƤ���̤��λ���ѹ��뤳�Ȥ��Ǥ��ƤϤʤ�ޤ����㤨�С��ҤȤĤΥȥ��������٤Ƥλ�Ź�λĹ�פ����Ȥ�˻�����ơ����ꥹ�θ��¤������Ź�����ꥹ�θ��¤���ΰ�����Ȥ�����ˤ��줺���ܥ֤θ��¤������Ź���ܥ֤θ��¤ؤο�����ߤ�Ģ���ʤ��Ȥ����顢���εդ⤢��ޤ����ɤ��ʤ�ޤ������Ȥ������Ȥϥȥ�������ϥǡ����١�����Ǥι���Ū���̤Ȥ�����̣�Τߤʤ餺��Ϣ�����β����DzĻ����Ȥ������Ȥˤ����Ƥϡ֤��٤ơפ���̵���פ��Ǥʤ���Фʤ�ޤ������Υȥ�������ˤ�빹���Ϥۤ��Υȥ�������ϥȥ��������뤹��ޤ��ԲĻ�Ǥ��� ���Υȥ��������뤷�����λ����ǥȥ������Ԥä������Τ��٤Ƥ����λ����Ǹ�����褦�ˤʤ�ޤ���
PostgreSQL �Ǥϥȥ�������������� SQL ���ޥ�ɤ� BEGIN �� COMMIT �ǰϤ�����ꤷ�ޤ�����������ȡ����ζ�Լ������Υȥ�������μºݤϤĤ��Τ褦�ˤʤ�ޤ���
BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; -- etc etc COMMIT;
�ȥ����������������ǥ��ߥåȤ�Ԥ�ʤ��ʥ��ꥹ�θ��»Ĺ⤬��ʤ��ä��褦�ʾ��ˤ�Ƚ�Ǥ������� COMMIT �ǤϤʤ� ROLLBACK ����Ѥ��ƹԤʤä����٤Ƥι������˴����ޤ���
PostgreSQL �ϼºݤ��٤Ƥ� SQL ̿��ʸ��ȥ���������Ǽ¹Ԥ���褦�ˤʤäƤ��ޤ���BEGIN ��ȯ�Ԥ��ʤ��Ǥ⤽�줾���̿��ʸ�ϰ���Ū�� BEGIN ���Ĥ��Ƥ���Ȥߤʤ�����������С�COMMIT �ǰϤޤ�Ƥ����ΤȤ��ޤ���BEGIN �� COMMIT �ǰϤޤ줿̿��ʸ�Υ��롼�פ� �ȥ�������֥��å��ȸƤФ�뤳�Ȥ⤢��ޤ���
����: �����Ĥ��Υ��饤����ȥ饤�֥��ϼ�ưŪ�� BEGIN �� COMMIT ���ޥ�ɤ�ȯ�Ԥ����ٹ�̵���˥ȥ�������֥��å���ͭ���ˤʤ�褦�ˤ��ޤ������Ѥ��Ƥ��륤�ե������Υɥ�����Ȥdz�ǧ���Ƥ���������
�����֥ݥ��������Ѥ��뤳�ȤǤ��γ�٤�٤����ȥ����������̿��ʸ�����椹�뤳�Ȥ���ǽ�ˤʤ�ޤ��������֥ݥ���Ȥϥȥ�������������뤢����ʬ������Ū���˴���������˴�����ʤ��Ĥ����ʬ�ϥ��ߥåȤ���ޤ���SAVEPOINT ���ޥ�ɤǥ����֥ݥ���Ȥ������������ɬ�פǤ���� ROLLBACK TO ���ޥ�ɤˤ�ꥻ���֥ݥ���Ȥޤǥ�����Хå��Ǥ��ޤ���������줿�����֥ݥ���Ȥȥ�����Хå�����ݥ���ȤȤδ֤����ƤΥȥ�������ǡ����١������ѹ����˴�����ޤ����������֥ݥ���Ȱ������ѹ����ݻ�����ޤ���
�����֥ݥ���Ȥޤǥ�����Хå������幹�˥����֥ݥ���Ȥ�����������֤���ޤ��Τǥ�����Хå��Υݥ��������ϲ���Ǥ�Ǥ��ޤ����դ˺��٥�����Хå���������Υݥ���Ȥ�ɬ�פʤ��ΤǤ���в���������ƥ�������¿���ȤⳫ����������Ǥ��ޤ������դ������ϥ����֥ݥ���Ȥ��������ꥻ���֥ݥ���Ȥ˥�����Хå�������ϼ�ưŪ�ˤ��θ��������줿���ƤΥ����֥ݥ���Ȥ���������ˤʤ�ޤ���
��������Ƥϥȥ�������֥��å���ǰ��������������¾�Υǡ����١������å����ϲ��⸫���ޤ��ȥ�������֥��å��ߥåȤ������¾�Υ��å����ϥ��ߥåȤ��줿�٤��ҤȤĤ�ñ�̤Ȥ��Ƹ�����褦�ˤʤ�ޤ�����������Хå��ι٤Ϸ褷�ƲĻ�ˤʤ�ޤ���
��ԤΥǡ����١�����פ������Ƥ������������ꥹ�θ��¤��� $100.00 ������Ф��ƥܥ֤θ��¤˿������Ȥ��ޤ�����ˤʤäƥܥ֤ǤϤʤ�������θ��¤˿������٤����ä��ȵ����Ĥ��ޤ��������ξ�祻���֥ݥ���ȤΤ褦�ˤĤ����ޤ���
BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; SAVEPOINT my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Bob'; -- ���äȡ�˺���Ȥ������ä���������θ��¤�Ȥ�ʤ���С� ROLLBACK TO my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Wally'; COMMIT;
������Ϥ�������ü��ñ�㲽���Ƥ��ޤ��������֥ݥ���Ȥλ��Ѥ��̤��ƥȥ�������֥��å����Ф�¿��������Ԥ��뤳�Ȥ�Ƚ��ޤ������ˤϤʤ�餫�Υ��顼�ǥ����ƥब�ȥ�������֥��å������Ǥ������ ROLLBACK TO ���ޥ�ɤ�������Хå��δ���Ƴ��Ϥ����뤿�����������᤹ͣ��μ��ʤǤ���