CREATE TRIGGER

Name

CREATE TRIGGER -- ����һ���µĴ�����

Synopsis

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
    EXECUTE PROCEDURE funcname ( arguments )

����

CREATE TRIGGER ����һ���µĴ������� ����������ָ����������ҽ����ض��¼�����ʱִ�������ĺ��� funcname��

��������������Ϊ�ڶԼ�¼���в���֮ǰ���ڼ��Լ��֮ǰ�� INSERT��UPDATE �� DELETE ִ��ǰ����������֮���ڼ��Լ��֮������ INSERT�� UPDATE �� DELETE ������������ ������������¼�֮ǰ�������������Թ���ǰ��¼�IJ�����ı䱻����ģ���ǰ����¼��ֻ�� INSERT �� UPDATE ������Ч���� ������������¼�֮�����и��ģ��������IJ��룬 ���»�ɾ���Դ���������"�ɼ�"�ġ�

һ�� FOR EACH ROW ִ��ָ�������Ĵ�����Ϊ�����޸ĵ�ÿһ�ж�����һ�Ρ����磬һ��Ӱ�� 10 �е� DELETE �������κ���Ŀ���ϵ�ϵ� ON DELETE �������������� 10 �Σ� ÿ����ɾ������һ�Ρ����֮�£�һ��Ϊָ������ FOR EACH STATEMENT �Ĵ�����ֻ��Ϊ�κβ���ִ��һ�Σ������ж����б��޸ġ� ���ر��ǣ�һ���޸����еIJ�����Ȼ�ᵼ���κκ��ʵ� FOR EACH STATEMENT ��������ִ�С���

������ͬ���͵Ĵ�����Ϊͬ���¼����˶��壬 ��ô���ǽ�������ĸ˳�򱻼��

SELECT ���������κ��У�����㲻�ܴ��� SELECT �����������ֳ����¹������ͼ������Щ��

��ο� Part V ��ȡ������Ϣ��

����

name

�����´����������ơ���������κ�������ͬһ��Ĵ�������ͬ��

BEFORE
AFTER

�����ú��������¼�֮ǰ����֮����á�

event

INSERT��DELETE �� UPDATE ����֮һ�� �������������������¼�������¼������� OR ������

table

���������õı����ƣ�������ģʽ���Σ���

FOR EACH ROW
FOR EACH STATEMENT

��Щѡ�����������������Ƿ�Ϊ�������¼�Ӱ���ÿ���д���һ�Σ� ����ֻΪÿ�� SQL ��䴥��һ�Ρ������û�������� FOR EACH STATEMENT ��ȱʡ��

funcname

һ���û��ṩ�ĺ�����������Ϊ�����ܲ������ҷ��� trigger ���͡�

arguments

һ����ѡ���ö��ŷָ��IJ����б������ڴ�����ִ�е�ʱ���ṩ�������� ��Щ�������ı��ִ�������Ҳ����������д�򵥵����ֺ���ֵ�������������ǻᱻת�����ִ��� ����ʵ�������й�������ڴ����������з��ʴ����������������� ��Щ�������ܺ���ͨ�ĺ���������ͬ��

ע��

Ҫ��һ�����ϴ���һ�����������û������ڸñ����� TRIGGER Ȩ�ޡ�

�� PostgreSQL �汾 7.3 ��ǰ�� ���DZ���Ѵ�������������Ϊ����ռλ���� opaque�� ������ trigger��Ϊ��֧��װ���ϵ�ת���ļ��� CREATE TRIGGER ������һ������Ϊ���� opaque �ĺ����� ������������һ�� NOTICE ���ҰѺ��������ķ������͸ij� trigger��

�� DROP TRIGGER ��ȡ���ɾ������������Ϣ��

����

Section 32.4 ����һ�����������ӡ�

������

PostgreSQL ��� CREATE TRIGGER ���ʵ����һ�� SQL:1999 ��׼���Ӽ��� ��SQL-92 ��û�д������� Ŀǰ��Ȼȱ������Ĺ��ܡ�

SQL:1999 Ҫ����������Ӧ���Դ�����ʱ��˳��ִ�С� PostgreSQL ���õ��ǰ�������˳�� ������Ϊ�������ӷ��㡣

�� OR ��һ��������������������� PostgreSQL �Ա�׼����չ��

�ּ�

CREATE FUNCTION, ALTER TRIGGER, DROP TRIGGER