37.3. ÐолÑзоваÑелÑÑкие ÑÑнкÑии
Ð PostgreSQL пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ ÑÑнкÑии ÑеÑÑÑÑÑ Ð²Ð¸Ð´Ð¾Ð²:
ÑÑнкÑии на ÑзÑке запÑоÑов (ÑÑнкÑии, напиÑаннÑе на SQL) (Раздел 37.4)
ÑÑнкÑии на пÑоÑедÑÑнÑÑ ÑзÑÐºÐ°Ñ (ÑÑнкÑии, напиÑаннÑе, напÑимеÑ, на PL/pgSQL или PL/Tcl) (Раздел 37.7)
внÑÑÑенние ÑÑнкÑии (Раздел 37.8)
ÑÑнкÑии на ÑзÑке C (Раздел 37.9)
ФÑнкÑии лÑбÑÑ Ð²Ð¸Ð´Ð¾Ð² могÑÑ Ð¿ÑинимаÑÑ Ð² каÑеÑÑве аÑгÑменÑов (паÑамеÑÑов) базовÑе ÑипÑ, ÑоÑÑавнÑе ÑÐ¸Ð¿Ñ Ð¸Ð»Ð¸ Ð¸Ñ ÑоÑеÑаниÑ. ÐÑоме Ñого, лÑбÑе ÑÑнкÑии могÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ или ÑоÑÑавного Ñипа. Также можно опÑеделиÑÑ ÑÑнкÑии, возвÑаÑаÑÑие набоÑÑ Ð±Ð°Ð·Ð¾Ð²ÑÑ Ð¸Ð»Ð¸ ÑоÑÑавнÑÑ Ð·Ð½Ð°Ñений.
ФÑнкÑии Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð²Ð¸Ð´Ð¾Ð² могÑÑ Ñакже пÑинимаÑÑ Ð¸Ð»Ð¸ возвÑаÑаÑÑ Ð¾Ð¿ÑеделÑннÑе пÑевдоÑÐ¸Ð¿Ñ (напÑимеÑ, полимоÑÑнÑе ÑипÑ), но доÑÑÑпнÑе ÑÑедÑÑва Ð´Ð»Ñ ÑабоÑÑ Ñ Ð½Ð¸Ð¼Ð¸ ÑазлиÑаÑÑÑÑ. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº опиÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð½ÐºÑеÑного вида ÑÑнкÑий.
ÐÑоÑе вÑего опÑеделиÑÑ ÑÑнкÑии на ÑзÑке SQL, поÑÑÐ¾Ð¼Ñ ÑнаÑала Ð¼Ñ ÑаÑÑмоÑÑим Ð¸Ñ . Ðногие конÑепÑии, каÑаÑÑиеÑÑ ÑÑнкÑий на SQL, заÑем ÑаÑпÑоÑÑÑанÑÑÑÑ Ð¸ на дÑÑгие Ð²Ð¸Ð´Ñ ÑÑнкÑий.
ÐзÑÑÐ°Ñ ÑÑÑ Ð³Ð»Ð°Ð²Ñ, бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ обÑаÑаÑÑÑÑ Ðº ÑÑÑаниÑе ÑпÑавки по команде CREATE FUNCTION, ÑÑÐ¾Ð±Ñ Ð»ÑÑÑе понимаÑÑ Ð¿ÑимеÑÑ. ÐекоÑоÑÑе пÑимеÑÑ Ð¸Ð· ÑÑой Ð³Ð»Ð°Ð²Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в ÑайлаÑ
funcs.sql и funcs.c в каÑалоге src/tutorial иÑÑ
одного кода PostgreSQL.