[ WITH [ RECURSIVE ] with_query [, ...] ] UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ] SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...] [ FROM from_list ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
UPDATE�ϡ��������������ƤιԤλ��ꤷ������ͤ��ѹ����ޤ��� SET��ˤϡ��ѹ�������Τߤ���ꤹ��ɬ�פ�����ޤ��� SET��ˤ�����Ū�˻��ꤵ��ʤ��ä�����ͤ��ѹ�����ޤ���
�ǡ����١������¾�Υơ��֥�ξ������Ѥ��ƥơ��֥���ѹ�����ˤϡ�2�Ĥ���ˡ������ޤ��� 1�Ĥ����䤤��碌����Ѥ�����ˡ���⤦1�Ĥ�FROM����ɲä���ơ��֥����ꤹ����ˡ�Ǥ��� �ɤ������ˡ��Ŭ�ڤǤ��뤫�Ͼ�������Ǥ���
��ά��ǽ��RETURNING��ˤ�ꡢUPDATE�ϼºݤ˹������줿�ƹԤ˴�Ť��Ʒ׻����줿�ͤ��֤��褦�ˤʤ�ޤ��� ���Υơ��֥����FROM�ǻ��ꤵ�줿¾�Υơ��֥���󡢤��뤤�ϡ�����ξ������Ѥ�������׻����뤳�Ȥ��Ǥ��ޤ��� �ơ��֥���ο������ʹ������줿��Ρ��ͤ����Ѥ���ޤ��� RETURNING�ꥹ�Ȥι�ʸ��SELECT�ν��ϥꥹ�Ȥ�Ʊ��Ǥ���
������Ԥ�����ˤϡ����Υơ��֥�ޤ��Ͼ��ʤ��Ȥ��оݤ�����UPDATE���¤�����ʤ���Фʤ�ޤ��� �ޤ�expressions��condition���ɤ߹���ơ��֥���Ф���SELECT���¤�ɬ�פˤʤ�ޤ���
WITH��ˤ��UPDATE�䤤��碌���̾���ǻ��Ȳ�ǽ�ʣ��İʾ�����䤤��碌����ꤹ�뤳�Ȥ��Ǥ��ޤ��� ��7.8��SELECT�򻲾Ȥ��Ƥ���������
�����оݤΥơ��֥��̾���Ǥ��ʥ������޽���̾�Ǥ�ġˡ� �ơ��֥������ONLY����ꤹ��ȡ���̾���줿�ơ��֥�Τߤǰ��פ���Ԥ���������ޤ��� ONLY����ꤷ�ʤ��ȡ���̾�����ơ��֥뤫��Ѿ����줿���٤ƤΥơ��֥����פ���Ԥ�Ʊ���˹�������ޤ��� ��ά���뤳�Ȥ�Ǥ��ޤ������ơ��֥�̾�θ��*����ꤷ�ơ�����Ū�˻ҥơ��֥뤬�ޤޤ�뤳�Ȥ򼨤����Ȥ��Ǥ��ޤ���
�оݥơ��֥������̾�Ǥ��� ��̾�����ꤵ���ȡ��ơ��֥�μºݤ�̾���ϴ����˱��ä���ޤ��� ���Ȥ��С�UPDATE foo AS f�Ǥϡ�UPDATEʸ�λĤ����ʬ�Ǥ�foo�ǤϤʤ�f�Ȥ��Ƥ��Υơ��֥�򻲾Ȥ��ʤ���Фʤ�ޤ���
table_name�ǻ�̾���줿�ơ��֥������̾�Ǥ��� ɬ�פ˱����ơ���̾�����ե������̾������λؼ��Ҥǽ������뤳�Ȥ��ǽ�Ǥ��� �о���λ���ˤϥơ��֥�̾��ޤ�ʤ��Ǥ��������� ���Ȥ��С�UPDATE tab SET tab.col = 1��̵���Ǥ���
����������뼰�Ǥ��� ���μ��Ǥϡ��ơ��֥�����о���䤽��¾������ѹ������ͤ���Ѥ��뤳�Ȥ��Ǥ��ޤ���
��˥ǥե�����ͤ����ꤷ�ޤ� �ʥǥե���ȼ���������Ƥ��Ƥ��ʤ�����NULL�ˤʤ�ޤ��ˡ�
WHERE���乹���Ѥμ��ˤ����ơ�¾�Υơ��֥�������ꤹ�뤿��˻��Ѥ���ơ��֥뼰�ν���Ǥ��� �����SELECTʸ��FROM���ǻ��ꤹ��ơ��֥�Υꥹ�Ȥ˻��Ƥ��ޤ��� ���ʷ���Ԥ����������from_list�˹����оݤΥơ��֥��ޤ��ɬ�פϤ���ޤ��� �ʼ��ʷ���Ԥ����ϡ�from_list��ǹ����оݤΥơ��֥�Ȥ�����̾����ꤷ�Ƥ���ɬ�פ�����ޤ��ˡ�
boolean�����ͤ��֤����Ǥ��� ���μ���true���֤��ԤΤߤ���������ޤ���
WHERE CURRENT OF���ǻ��Ѥ���륫�������̾���Ǥ��� �����оݤιԤϡ����Υ������뤫���äȤ�Ƕ�˼��Ф��줿�ԤǤ��� ���������UPDATE���оݥơ��֥���Ф��륰�롼�ײ��Τʤ��䤤��碌�Ǥʤ���Фʤ�ޤ��� WHERE CURRENT OF���������Ȥ��ä���˻��ꤹ�뤳�ȤϤǤ��ޤ��� WHERE CURRENT OF�դ��Υ���������Ѥ˴ؤ������ˤĤ��Ƥ�DECLARE�򻲾Ȥ��Ƥ���������
�ƹԤ򹹿�������˷׻����졢UPDATE�ˤ�ä��֤���뼰�Ǥ��� ���μ��ˤϡ�table_name�ޤ���FROM�ǻ��ꤷ���ơ��֥��ʣ���ġˤ�Ǥ�դ���̾����Ѥ��뤳�Ȥ��Ǥ��ޤ��� ���٤Ƥ�����֤�����*�ȵ��ܤ��Ƥ���������
�֤������ǻ��Ѥ����̾���Ǥ���
����˽����������ȡ�UPDATE���ޥ�ɤϰʲ��η����Υ��ޥ�ɥ������֤��ޤ���
UPDATE count
count��,�����פ������ѹ�����ʤ��ä��Ԥ�ޤࡢ�������줿�Կ����̣���ޤ��� BEFORE UPDATE�ȥꥬ�ˤ�깹�����������줿���ˡ�condition�˹��פ����Կ���꾯�ʤ��ʤ��ǽ�������뤳�Ȥ����դ��Ƥ��������� count��0�ξ���condition�˰��פ���Ԥ��ʤ��ä����Ȥ��̣���ޤ� �ʤ���ϥ��顼�ȤϤߤʤ���ޤ���ˡ�
UPDATE���ޥ�ɤ�RETURNING�����ľ�硢���η�̤ϡ�RETURNING�ꥹ�Ȥ������������ͤ���������Υ��ޥ�ɤǹ������줿�����Τ��Ф��Ʒ׻���Ԥ�SELECTʸ�η�̤Ȼ�����Τˤʤ�Ǥ��礦��
FROM�礬¸�ߤ����硢����Ū�ˡ��оݥơ��֥��from_list�ǻ��ꤵ�줿�ơ��֥뤬��礵�졢���η��ν��ϹԤ��оݥơ��֥�ι������η�̤Ȥʤ�ޤ��� FROM�����Ѥ����硢�����оݥơ��֥��1�Ԥ��Ф��ơ�����̤�ʣ���Ԥˤʤ�ʤ��褦�����դ��Ƥ��������� ����������ȡ��оݥơ��֥�θġ��ιԤϡ�¾�ơ��֥��ʣ���ιԤȷ�礹�٤��ǤϤ���ޤ��� ����̤�ʣ���Ԥˤʤä���硢�оݹԤι����ˤϷ���̤Τ����줫1�ԤΤߤ����Ѥ���ޤ������ɤιԤ����Ѥ���뤫�ϴ�ñ�ˤ�ͽ¬�Ǥ��ޤ���
���Τ褦�����꤬���뤿�ᡢ¾�ơ��֥�λ��Ȥ����䤤��碌��Τߤ�α��Ƥ����������������Ǥ��ʤ��������������������¹�®�٤��㲼���ޤ��ˡ�
films�ơ��֥��kind��ˤ���Drama�Ȥ���ñ���Dramatic���ѹ����ޤ���
UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama';
weather�ơ��֥������ιԤ��Ф��������Ȥ������ܤ�Ĵ�������߿��̤�ǥե�����ͤ��ᤷ�ޤ���
UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = 'San Francisco' AND date = '2003-07-03';
Ʊ������Ԥ����������줿���ܤ��֤��ޤ���
UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = 'San Francisco' AND date = '2003-07-03' RETURNING temp_lo, temp_hi, prcp;
�̤���ꥹ�ȹ�ʸ����Ѥ���Ʊ�ͤι�����Ԥ��ޤ���
UPDATE weather SET (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, DEFAULT) WHERE city = 'San Francisco' AND date = '2003-07-03';
FROM�繽ʸ����Ѥ��ơ�������Ҥ�ܵҤȤ��륻���륹�ޥ�Υ����륹������Ȥ�1���ä����ޤ���
UPDATE employees SET sales_count = sales_count + 1 FROM accounts WHERE accounts.name = 'Acme Corporation' AND employees.id = accounts.sales_person;
WHERE������䤤��碌����Ѥ��ơ�Ʊ������Ԥ��ޤ���
UPDATE employees SET sales_count = sales_count + 1 WHERE id = (SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');
���������ʤȤ��κ߸˿����������ޤ��� ���ˤ��ξ��ʤ�¸�ߤ��Ƥ�����ϡ�����˴�¸���ʤκ߸˿��򹹿����ޤ��� �ȥ�󥶥���������Τ����Ԥ��뤳�Ȥ��ʤ��褦�ˤ�������Ԥ��ˤϡ������֥ݥ���Ȥ���Ѥ��Ƥ���������
BEGIN; -- ���������¾������Ԥ��ޤ��� SAVEPOINT sp1; INSERT INTO wines VALUES('Chateau Lafite 2003', '24'); -- �åµï¿½Î¥ï¿½ï¿½Þ¥ï¿½É¤ï¿½ï¿½ï¿½Õ¥ï¿½ï¿½ï¿½ï¿½ï¿½È¿ï¿½Ë¤ï¿½ê¼ºï¿½Ô¤ï¿½ï¿½ï¿½ï¿½È¤ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½ -- ���ξ�硢���Υ��ޥ�ɤ�¹Ԥ��ޤ��� ROLLBACK TO sp1; UPDATE wines SET stock = stock + 24 WHERE winename = 'Chateau Lafite 2003'; -- ¾������³�����塢�Ǹ�˼���¹Ԥ��ޤ��� COMMIT;
films�ơ��֥�ˤ����ơ�c_films�������뤬���߰��֤��Ƥ���Ԥ�kind����ѹ����ޤ���
UPDATE films SET kind = 'Dramatic' WHERE CURRENT OF c_films;
���Υ��ޥ�ɤ�ɸ��SQL�˽�򤷤Ƥ��ޤ��� ������FROM�礪���RETURNING���PostgreSQL�γ�ĥ�Ǥ��� UPDATE��WITH�����Ѳ�ǽ�Ǥ��뤳�Ȥ�Ʊ�ͤ˳�ĥ�Ǥ���
ɸ��˽����ȡ���ꥹ�ȹ�ʸ�ϡ�������Τ褦��ñ��ι��ͼ����������������Υꥹ�Ȥ���Ĥ��ʤ���Фʤ�ޤ���
UPDATE accounts SET (contact_last_name, contact_first_name) = (SELECT last_name, first_name FROM salesmen WHERE salesmen.id = accounts.sales_id);
����ϸ������Ǥϥ��ݡ��Ȥ���Ƥ��ޤ��󡣥���������Ω�������Ǥʤ���Фʤ�ޤ���
¾�Υǡ����١��������ƥ�ˤϡ�FROM���ץ������ǡ��оݥơ��֥뤬���ٻ��ꤵ��뤳�Ȥ�����Ȥ���ư����Τ⤢��ޤ��� �����PostgreSQL�ˤ�����FROM�β����ˡ�Ȥϰۤʤ�ޤ��� FROM��ĥ��ǽ����Ѥ��륢�ץꥱ��������ܿ�����������դ��Ƥ���������