PL/Perl����Ѥ��ƥȥꥬ�ؿ���������뤳�Ȥ��Ǥ��ޤ��� �ȥꥬ�ؿ��Ǥϡ�$_TD�Ȥ����ϥå���ؤλ��Ȥˡ����ߤΥȥꥬ���٥�Ȥ˴ؤ�����ޤޤ�Ƥ��ޤ��� $_TD������ѿ��Ǥ��ꡢ�ƥȥꥬ�ƤӽФ����Ф��ƶɽ�Ū���ͤ��̡��˼��Ф��ޤ��� �ʲ���$_TD�Ȥ����ϥå���ؤλ��ȤΥե�����ɤ��ޤ���
NEW��foo���͡�
OLD��foo���͡�
�ƤӽФ��줿�ȥꥬ��̾����
�ȥꥬ���٥�ȡ� INSERT��UPDATE��DELETE��TRUNCATE���⤷����UNKNOWN��
�ȥꥬ�����ĸƤӽФ��줿���� BEFORE��AFTER���⤷����UNKNOWN��
�ȥꥬ��٥롣 ROW��STATEMENT���⤷����UNKNOWN��
�ȥꥬ��ȯ�Ը��ơ��֥��OID��
�ȥꥬ��ȯ�Ը��ơ��֥��̾����
�ȥꥬ��ȯ�Ը��ơ��֥��̾���� ������ѻ�ͽ��ǡ�����Υ����Ǻ��������ǽ��������ޤ��� �����$_TD->{table_name}����Ѥ��Ƥ���������
�ȥꥬ��ȯ�Ը��ơ��֥뤬¸�ߤ��륹�����ޤ�̾����
�ȥꥬ�ؿ��ΰ����ο���
�ȥꥬ�ؿ��ΰ����� $_TD->{argc}��0�ξ���¸�ߤ��ޤ���
�ԥ�٥�ȥꥬ�ϰʲ��Τ����줫���֤����Ȥ��Ǥ��ޤ���
����¹Ԥ��ޤ���
����¹Ԥ��ޤ���
�ȥꥬ�ؿ��ˤ�ä�NEW�Ԥ��ѹ����줿���Ȥ��ޤ���
�ʲ��ϥȥꥬ�ؿ�����ǡ������ޤǤ������ΰ�������ڤ����ΤǤ���
CREATE TABLE test ( i int, v varchar ); CREATE OR REPLACE FUNCTION valid_id() RETURNS trigger AS $$ if (($_TD->{new}{i} >= 100) || ($_TD->{new}{i} <= 0)) { return "SKIP"; # INSERT/UPDATE���ޥ�ɤ��ä��ޤ��� } elsif ($_TD->{new}{v} ne "immortal") { $_TD->{new}{v} .= "(modified by trigger)"; return "MODIFY"; # �Ԥ��ѹ�����INSERT/UPDATE���ޥ�ɤ�¹Ԥ��ޤ��� } else { return; # INSERT/UPDATE���ޥ�ɤ�¹Ԥ��ޤ��� } $$ LANGUAGE plperl; CREATE TRIGGER test_valid_id_trig BEFORE INSERT OR UPDATE ON test FOR EACH ROW EXECUTE PROCEDURE valid_id();