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();