| PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 37. PL/Perl - Perl �������� | Fast Forward | Next |
PL/Perl ���ڿ���ͨ��ʹ�� $_TD ɢ����������д������������
PL/Perl ����������д�������������ڴ����������ɢ������ $_TD �����йص�ǰ�������¼�����Ϣ��ɢ������ $_TD ���ֶ��ǣ�
�ֶ� foo �� NEW ֵ��
һ���ֶ� foo �� OLD ֵ��
�����õĴ�����������
�������¼���INSERT��UPDATE��DELETE������ UNKNOWN
��ʱ���ô�������BEFORE��AFTER������ UNKNOWN
���������ROW��STATEMENT������ UNKNOWN
�����������ı�� OID
�����������ı������
�����������IJ���
�����������IJ�������
��������������֮һ��
ִ�и����
��ִ�и����
���� 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();