PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Fast Forward | Next |
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 ��ȡ������Ϣ��
�����´����������ơ���������κ�������ͬһ��Ĵ�������ͬ��
�����ú��������¼�֮ǰ����֮����á�
INSERT��DELETE �� UPDATE ����֮һ�� �������������������¼�������¼������� OR ������
���������õı����ƣ�������ģʽ���Σ���
��Щѡ�����������������Ƿ�Ϊ�������¼�Ӱ���ÿ���д���һ�Σ� ����ֻΪÿ�� SQL ��䴥��һ�Ρ������û�������� FOR EACH STATEMENT ��ȱʡ��
һ���û��ṩ�ĺ�����������Ϊ�����ܲ������ҷ��� trigger ���͡�
һ����ѡ���ö��ŷָ��IJ����б������ڴ�����ִ�е�ʱ���ṩ�������� ��Щ�������ı��ִ�������Ҳ����������д�����ֺ���ֵ�������������ǻᱻת�����ִ��� ����ʵ�������й�������ڴ����������з��ʴ����������������� ��Щ�������ܺ���ͨ�ĺ���������ͬ��
Ҫ��һ�����ϴ���һ�����������û������ڸñ����� TRIGGER Ȩ�ޡ�
�� PostgreSQL �汾 7.3 ��ǰ�� ���DZ���Ѵ�������������Ϊ����ռλ���� opaque�� ������ trigger��Ϊ��֧��װ���ϵ�ת���ļ��� CREATE TRIGGER ������һ������Ϊ���� opaque �ĺ����� ������������һ�� NOTICE ���ҰѺ��������ķ������ij� trigger��
�� DROP TRIGGER ��ȡ���ɾ������������Ϣ��
PostgreSQL ��� CREATE TRIGGER ���ʵ����һ�� SQL:1999 �����Ӽ��� ��SQL-92 ��û�д������� Ŀǰ��Ȼȱ������Ĺ��ܡ�
SQL:1999 ��������Ϊָ�����ֶεĸ��½��д�����Ҳ����˵��AFTER UPDATE OF col1, col2����
SQL:1999 ������Ϊ "old" �� "new" �л��߱�����������ڶ��崥�����Ķ�����Ҳ����˵�� CREATE TRIGGER ... ON tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...)����Ϊ PostgreSQL �������������������������û��������Խ�����д�����Է������ݵĹ������ú�������صķ���ʵ�ֵġ�
PostgreSQL ֻ����Ϊ�����Ķ���ִ�д洢�Ĺ��̡�SQL:1999 ����ִ��һЩ������ SQL ��� ������ CREATE TABLE ��Ϊ������������ �����ֹ�������ƿ���ֻҪ����һ��ִ����Щ����Ĵ洢���̼��ɡ�
SQL:1999 Ҫ����������Ӧ���Դ�����ʱ��˳��ִ�С� PostgreSQL ���õ��ǰ�������˳�� ������Ϊ�������ӷ��㡣
�� OR ��һ��������������������� PostgreSQL �Ա�����չ��