�ȥꥬ�ˤ�äƹԤ���¿��������PostgreSQL�Υ롼�륷���ƥ�Ǽ�����ǽ�Ǥ��� �롼��Ǽ����Ǥ��ʤ���Τ�1�ĤϤ����������ä˳��������˴ؤ��ƤǤ��� �⤷¾�Υơ��֥������ͤ��ʤ��ä���硢���롼��ǥ��ޥ�ɤ�NOTHING�˽����Ƥ��ޤ����Ȥ��ǽ�Ǥ���������Ǥϥǡ��������ޤäƾõ��Ƥ��ޤ����ɤ������ǥ����Ȥϸ����ޤ��� ͭ�����ͤ��ɤ����Υ����å���ɬ�פǡ�̵�����ͤˤĤ��Ƥϥ��顼��å�������ɽ������ɬ�פ�����ʤ顢���Τ��ȤϺ��ΤȤ����ȥꥬ��ȤäƹԤ�ʤ���Фʤ�ޤ���
�������ӥ塼��졼�����ˤϼºݤΥǡ���������ޤ���Τǡ��ӥ塼��˥ȥꥬ��������뤳�ȤϤǤ��ޤ��� ��������INSERT��UPDATE��DELETE�롼���ӥ塼��˺������뤳�ȤϤǤ��ޤ���
�ɤ���Ǥ�����Ǥ������˴ؤ��Ƥɤ��餬�٥��Ȥ��ϥǡ����١����λ���ˡ�ˤ��ޤ��� �ȥꥬ�ϤɤιԤ��Ф��Ƥ���٤�����ư���ޤ��� �롼����䤤��碌�����뤫�ɲä��䤤��碌���������ޤ��� �Ǥ����顢1�Ĥ�ʸ��¿���ιԤ˱ƶ���Ϳ�����硢1�ĤιԤ���������٤˸ƤӽФ��졢���μ¹Ԥ��Ԥ�ʤ���Фʤ�ʤ��ȥꥬ���⡢�ɲä��䤤��碌��1��ȯ�Ԥ���롼��������ۤȤ�ɤξ���®�ˤʤ�ޤ��� ���������ȥꥬ�����ϳ�ǰŪ�˥롼�륷���ƥ��꤫�ʤ�ñ��Ǥ��ꡢ�鿴�Ԥϴ�ñ���������������Ȥ��Ǥ��ޤ���
�����ǡ�����������ǥ롼��ȥȥꥬ�Τɤ�������뤫�����ޤ��� �㤨�С�2�ĤΥơ��֥뤬����Ȥ��ޤ���
CREATE TABLE computer ( hostname text, -- ����ǥå������� manufacturer text -- ����ǥå������� ); CREATE TABLE software ( software text, -- ����ǥå������� hostname text -- ����ǥå������� );
2�ĤΥơ��֥�ˤϤȤ�˿���ιԤ����äơ�hostname��Υ���ǥå����ϰ�դǤ��� �롼��/�ȥꥬ�Ϻ�����줿�ۥ��ȤȤ��롢software�ιԤ����������¤�������ʤ���Фʤ�ޤ��� �ȥꥬ�ξ��ϰʲ��Υ��ޥ�ɤ���Ѥ��ޤ���
DELETE FROM software WHERE hostname = $1;
computer���������줿��1�ĤҤȤĤ��Ф��Ƥ��Υȥꥬ���ƤӽФ���ޤ��Τǡ����Υ��ޥ�ɤν�����Ԥ����ײ����¸�����ѥ����Ȥ���hostname���Ϥ����Ȥ��Ǥ��ޤ��� �롼��ξ��ϰʲ��Τ褦�˺�������ޤ���
CREATE RULE computer_del AS ON DELETE TO computer DO DELETE FROM software WHERE hostname = OLD.hostname;
�������̤���κ����ͤ��Ƥߤޤ��礦��
DELETE FROM computer WHERE hostname = 'mypc.local.net';
��Τ褦�ʾ��Ǥϡ�computer�ϥ���ǥå����ˤ��ʹ�®�ˡ˥������ޤ��� �ȥꥬ�ˤ�äƤ��Υ��ޥ�ɤ�ȯ�Ԥ��줿���⥤��ǥå�����������Ѥ���ޤ��ʹ�®�Ǥ��ˡ� �롼��ˤ���ɲå��ޥ�ɤϰʲ��Τ褦�ˤʤ�ޤ���
DELETE FROM software WHERE computer.hostname = 'mypc.local.net' AND software.hostname = computer.hostname;
Ŭ�ڤʥ���ǥå��������ꤵ��Ƥ��ޤ��Τǡ��ץ��ʤϰʲ��ηײ��������ޤ���
����Ҿ��롼�� -> computer���Ф�comp_hostidx����Ѥ�������ǥå���������� -> software���Ф�soft_hostidx����Ѥ�������ǥå����������
�Ǥ��Τǡ��ȥꥬ�ȥ롼��μ����֤Ǥ�®�ٺ��Ϥ��ޤꤢ��ޤ���
���κ�������Ǥ�hostname��old�ǻϤޤ�2,000�����Ƥ�computer�������褦�Ȼפ��ޤ��� ��ˡ�Ȥ���2�Ĥ�ͭ�����䤤��碌�����äơ�1�Ĥϰʲ��Τ褦�ʤ�ΤǤ���
DELETE FROM computer WHERE hostname >= 'old' AND hostname < 'ole'
�롼��ˤ�ä��ɲä���륳�ޥ�ɤϰʲ��Τ褦�ˤʤ�ޤ���
DELETE FROM software WHERE computer.hostname >= 'old' AND computer.hostname < 'ole' AND software.hostname = computer.hostname;
������Ф���ײ�ϰʲ��Τ褦�ˤʤ�ޤ���
�ϥå����� -> software���Ф��륷������륹����� -> �ϥå��� -> computer���Ф���comp_hostidx����Ѥ��륤��ǥå����������
�⤦1�ĤΥ��ޥ�ɤϰʲ��Τ褦�ʤ�ΤǤ���
DELETE FROM computer WHERE hostname ~ '^old';
����ˤ�ꡢ�롼��ˤ�ä��ɲä���륳�ޥ���Ѥμ¹Էײ�ϰʲ��Τ褦�ˤʤ�ޤ���
����Ҿ��롼�� -> computer���Ф���comp_hostidx����Ѥ��륤��ǥå���������� -> software���Ф���soft_hostidx����Ѥ��륤��ǥå����������
���줬�����Ƥ��뤳�Ȥϡ�AND�Ƿ�礵�줿ʣ���θ�����郎¸�ߤ����硢�ץ��ʤ�����ɽ���ǤΥ��ޥ�ɤǤϹԤäƤ��뤳�ȤǤ�����computer���hostname���Ф��븡������software��Υ���ǥå����������ˤ�Ʊ�ͤ˻��ѤǤ��뤳�Ȥ����ʤ��Ȥ������ȤǤ��� �ȥꥬ�Ϻ�������٤�2,000��ε켰����ԥ塼���Τ��줾��ˤĤ���1��ƤӽФ��졢���computer���1��Υ���ǥå�����������software���2,000��Υ���ǥå���������Ԥ��ޤ��� �롼��ˤ������Ǥϥ���ǥå�������Ѥ���2�Ĥ��䤤��碌�ˤ�äƼ¹Ԥ���ޤ��� ��������륹�����ξ��Ǥ�롼�뤬���®�����ɤ�����software�ơ��֥���礭���˰�¸���ޤ��� ���Ȥ������ƤΥ���ǥå����֥��å��������˥���å���˸����Ȥ��Ƥ⡢�ȥꥬ�ˤ��SPI�ޥ͡������ͳ��2,000��Υ��ޥ�ɤμ¹Ԥˤϻ��֤��פ��ޤ���
�Ǹ�Υ��ޥ�ɤƤߤޤ��礦��
DELETE FROM computer WHERE manufacturer = 'bim';
����ʸ�Ǥ�computer����¿���ιԤ����������̤Ȥʤ�ޤ��� �Ǥ��Τǡ������Ǥ�ȥꥬ�ϥ��������塼�����̤���¿���Υ��ޥ�ɤ�¹Ԥ��뤳�Ȥˤʤ�ޤ��� �롼��Ǻ�������륳�ޥ�ɤϰʲ��Τ褦�ʤ�ΤǤ���
DELETE FROM software WHERE computer.manufacturer = 'bim' AND software.hostname = computer.hostname;
���Υ��ޥ���Ѥηײ��ޤ�����Ʊ��2�ĤΥ���ǥå���������������Ҿ��롼�פȤʤ�ޤ��� computer���̤Υ���ǥå�������Ѥ������Τߤ��ۤʤ�ޤ���
����Ҿ��롼�� -> computer���Ф���comp_manufidx����Ѥ��륤��ǥå���������� -> software���Ф���soft_hostidx����Ѥ��륤��ǥå����������
������ξ��ˤ����Ƥ⡢�롼�륷���ƥब���������ɲå��ޥ�ɤϱƶ��������Կ������¿���쾯�ʤ�����Ω���Ƥ��ޤ���
�ޤȤ��ȡ��䤤��碌��̤��礭�����ץ��ʤ����ޤ�����������Ǥ��ʤ��褦�ʾ������ǤΤߥ롼��ϥȥꥬ����٤����餫���٤��ʤ�ޤ���