PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 35. PL/pgSQL - SQL �������� | Fast Forward | Next |
������PL/pgSQL �����ʹ�õı��ʽ�����÷���������ͨSQLִ�������д���ġ� ʵ���ϣ���������IJ�ѯ
SELECT expression
��ʹ�� SPI ������ִ�еġ� �ڼ���֮ǰ������PL/pgSQL������ʶ���ĵط��ȱ��������棬 Ȼ�������ʵ��ֵ���ڲ��������ﴫ�ݸ�ִ������ ����������SELECT��ִ�мƻ�ֻ��Ҫ��һ�Σ����������ļ����и��á�
PostgreSQL �����������������ͼ��Գ�����ֵ�Ĵ�����һЩ�����á� ��ϸ˵������������������������������Щ����
CREATE FUNCTION logfunc1 (logtxt text) RETURNS timestamp AS $$ BEGIN INSERT INTO logtable VALUES (logtxt, 'now'); RETURN 'now'; END; $$ LANGUAGE plpgsql;
��
CREATE FUNCTION logfunc2 (logtxt text) RETURNS timestamp AS $$ DECLARE curtime timestamp; BEGIN curtime := 'now'; INSERT INTO logtable VALUES (logtxt, curtime); RETURN curtime; END; $$ LANGUAGE plpgsql;
�� logfunc1() ��ʵ��� PostgreSQL ������������Ϊ INSERT ��ִ�мƻ���ʱ��֪���ִ� 'now' Ӧ�ý��ͳ� timestamp ���ͣ���Ϊ logtable ��Ŀ���ֶξ��Ǹ����͡����ԣ����������ʱ�������ִ��м���һ�������� Ȼ���ڸ÷������������������е����� logfunc1 ������ʹ���������������˵����ɲ��dz���Ա��Ҫ�ġ�
��logfunc2� PostgreSQL ��������������֪�� now Ӧ��ת����ʲô���ͣ� ���������һ�������ַ��� now ������Ϊ text ������ֵ�� �������ֲ�����curtime��ֵʱ�� PL/pgSQL������ͨ������ text_out��timestamp_in ������ַ���ת���� timestamp ���͵ı����� ��ˣ��������ʱ���ͻᰴ�ճ���Աϣ����������ÿ��ִ�е�ʱ���¡�
��¼�������ױ������������ֽ���������һ�����⡣ ��һ����¼�����������߱��ʽ��ʹ��ʱ�� ���ֶε�����������ͬһ�����ʽ�IJ�ͬ�����ڼ䲻���ģ� ��Ϊ�ñ��ʽ��ʹ�õ������е�һ�ε���ñ��ʽʱ���ֵ��������͡� ��д������һ������¼��Ĵ��������̵�ʱ��һ��Ҫ�������ס������Ҫʱ������EXECUTE�ƿ�������⡣��