¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

36.6. �롼���Хȥꥬ

�ȥꥬ�ˤ�äƹԤ���¿��������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����Ѥ��륤��ǥå����������

������ξ��ˤ����Ƥ⡢�롼�륷���ƥब���������ɲå��ޥ�ɤϱƶ��������Կ������¿���쾯�ʤ�����Ω���Ƥ��ޤ���

�ޤȤ��ȡ��䤤��碌��̤��礭�����ץ��ʤ����ޤ�����������Ǥ��ʤ��褦�ʾ������ǤΤߥ롼��ϥȥꥬ����٤����餫���٤��ʤ�ޤ���