PL/Perl �� Perl �ץ�����ߥ������Ѥ��� PostgreSQL �ؿ���������뤳�Ȥ��Ǥ��롢�ɤ߹��߲�ǽ�ʼ�³������Ǥ���
PL/Perl ������Υǡ����١����˥��ȡ��뤹��ˤϡ�createlang plperl dbname ����Ѥ��ޤ���
Tip: ����� template1 �˥��ȡ��뤹��ȡ����θ�˺��������ǡ����١������Ƥˡ����θ���ϼ�ưŪ�˥��ȡ��뤵��ޤ���
Note: �������ѥå���������Ѥ���桼���ϡ����ȡ���ץ������δ� PL/Perl �Υӥ�ɤ��ä˻��Ѳ�ǽ�ˤ��Ƥ���ɬ�פ�����ޤ� (�ܺ٤ˤĤ��Ƥϡ����ȡ�����Ȥ��Ƥ�������)���Х��ʥ�ѥå���������Ѥ�����ϡ��̸ĤΥ��֥ѥå������� PL/Perl �����äƤ����ǽ��������ޤ���
PL/Perl ����Ǵؿ����������ˤϡ��ʲ���ɸ�ʸ����Ѥ��Ʋ�������
CREATE FUNCTION funcname (argument-types) RETURNS return-type AS ' # PL/Perl function body ' LANGUAGE plperl;
�ؿ����Τ��̾�� Perl �Υ����ɤǤ���
�����ȷ�̤�¾�� Perl ���֥롼�����Ʊ�ͤ˰����ޤ��� ������ @_ ������Ϥ��졢����ͤ� return���ޤ��ϡ����δؿ��ǺǸ��ɾ�����줿���Ȥ����֤���ޤ����㤨�С�2�Ĥ����������礭�������֤��ؿ��ϰʲ��Τ褦������Ǥ��ޤ���
CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS ' if ($_[0] > $_[1]) { return $_[0]; } return $_[1]; ' LANGUAGE plperl;
SQL �� NULL �ͤ��ؿ����Ϥ��줿��硢���ΰ����ͤ� Perl �ˤ����� "undefined" �Ȥ��Ƹ���ޤ��� ��δؿ�����Ǥϡ�NULL �����Ϥ��줿��礦�ޤ�ư��ʤ��Ǥ��礦 (�ºݤϤ��줬�����Ǥ��뤫�Τ褦��ư���Ǥ��礦)�� STRICT ��ؿ�����˲ä��뤳�Ȥǡ�PostgreSQL ��ư��������Ū�ˤ��뤳�Ȥ��Ǥ��ޤ��� NULL �ͤ��Ϥ��줿��硢�ؿ��Ϥޤä����ƤӽФ��줺��ñ�� NULL �Ȥ�����̤���ưŪ���֤���ޤ���¾����ˡ�Ȥ��ơ��ؿ����Τ�̤��������Ϥ�����å����뤳�Ȥ�Ǥ��ޤ��� ���Ȥ��С�perl_max �ΰ����������� NULL���⤦�������� NULL �ξ��ˡ�NULL �ͤǤϤʤ��� NULL �ΰ������֤��褦�ˤ���Ȥ��ޤ���
CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS ' my ($a,$b) = @_; if (! defined $a) { if (! defined $b) { return undef; } return $b; } if (! defined $b) { return $a; } if ($a > $b) { return $a; } return $b; ' LANGUAGE plperl;
��Ǽ������̤ꡢPL/Perl �ؿ����� SQL �� NULL �ͤ��֤�����ˤϡ�̤����ͤ��֤��褦�ˤ��Ʋ�����������ϡ��ؿ�����̩���ɤ����˴ط��ʤ����¹Ԥ��뤳�Ȥ��Ǥ��ޤ���
ʣ�緿�ΰ����ϥϥå���ؤλ��ȤȤ��ƴؿ����Ϥ���ޤ����ϥå���Υ�����ʣ�緿��°��̾�Ǥ����ʲ�������ޤ���
CREATE TABLE employee ( name text, basesalary integer, bonus integer ); CREATE FUNCTION empcomp(employee) RETURNS integer AS ' my ($emp) = @_; return $emp->{''basesalary''} + $emp->{''bonus''}; ' LANGUAGE plperl; SELECT name, empcomp(employee) FROM employee;
���ΤȤ�����ʣ�緿�η���ͤ��֤���ǽ�ϥ��ݡ��Ȥ���Ƥ��ޤ���
Tip: �ؿ����Τϡ�CREATE FUNCTION ��SQL ʸ����ƥ��Ȥ����Ϥ���ޤ��Τǡ�Perl ���������ñ��������Хå�����å���������פ��ʤ���Фʤ�ޤ��� �̾�Ͼ����Τ褦�ˤ�������Ťˤ��ޤ��� ¾����ˡ�ϡ�Perl �γ�ĥ���ѱ黻�� (q[]��qq[]��qw[]) ����Ѥ��ơ�ñ����������Ѥ��ʤ��褦�ˤ��뤳�ȤǤ���