CALL
CALL â вÑзваÑÑ Ð¿ÑоÑедÑÑÑ
СинÑакÑиÑ
CALLимÑ( [аÑгÑменÑ] [, ...] )
ÐпиÑание
CALL вÑзÑÐ²Ð°ÐµÑ Ð¿ÑоÑедÑÑÑ.
ÐÑли Ñ Ð¿ÑоÑедÑÑÑ ÐµÑÑÑ Ð²ÑÑ Ð¾Ð´Ð½Ñе паÑамеÑÑÑ, возвÑаÑаеÑÑÑ ÑÑÑока ÑезÑлÑÑаÑа, ÑодеÑжаÑÐ°Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов.
ÐаÑамеÑÑÑ
имÑÐÐ¼Ñ Ð¿ÑоÑедÑÑÑ (возможно, дополненное ÑÑ ÐµÐ¼Ð¾Ð¹).
аÑгÑменÑÐÑÑажение, опÑеделÑÑÑее аÑгÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð²Ñзова пÑоÑедÑÑÑ.
РаÑгÑменÑе Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаваÑÑÑÑ Ð¸Ð¼Ñ Ð¿Ð°ÑамеÑÑа в запиÑи
. ÐÑо ÑабоÑÐ°ÐµÑ Ñак же, как и Ñ Ð¾Ð±ÑÑнÑми вÑзовами ÑÑнкÑий; за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 4.3.имÑ=>знаÑениеÐÑгÑменÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿Ð°ÑамеÑÑов пÑоÑедÑÑÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ð½Ðµ опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ, вклÑÑÐ°Ñ Ð¿Ð°ÑамеÑÑÑ
OUT. Ðднако аÑгÑменÑÑ, ÑооÑвеÑÑÑвÑÑÑие паÑамеÑÑамOUT, не вÑÑиÑлÑÑÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð²Ð¼ÐµÑÑо Ð½Ð¸Ñ Ð¾Ð±ÑÑно ÑаÑÑо пÑоÑÑо пиÑÑÑNULL. (ÐÑли пеÑедаваÑÑ Ð² паÑамеÑÑаÑOUTкакие-Ñо дÑÑгие знаÑениÑ, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÑовмеÑÑимоÑÑи Ñ Ð±ÑдÑÑими веÑÑиÑми PostgreSQL.)
ÐÑимеÑаниÑ
ЧÑÐ¾Ð±Ñ Ð²ÑзÑваÑÑ Ð¿ÑоÑедÑÑÑ, полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¿Ñаво EXECUTE Ð´Ð»Ñ Ð½ÐµÑ.
ÐÐ»Ñ Ð²Ñзова ÑÑнкÑии (не пÑоÑедÑÑÑ) ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ SELECT.
ÐÑли CALL вÑполнÑеÑÑÑ Ð² блоке ÑÑанзакÑии, вÑзÑÐ²Ð°ÐµÐ¼Ð°Ñ Ð¿ÑоÑедÑÑа не Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑоÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑанзакÑиÑми. Такие опеÑаÑоÑÑ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ, ÑолÑко еÑли CALL вÑполнÑеÑÑÑ Ð² ÑобÑÑвенной ÑÑанзакÑии.
ÐÑÑ
однÑе паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ CALL в PL/pgSQL обÑабаÑÑваÑÑÑÑ Ð¿Ð¾-дÑÑгомÑ; Ñм. ÐодÑаздел 43.6.3.
ÐÑимеÑÑ
CALL do_db_maintenance();
СовмеÑÑимоÑÑÑ
Ðоманда CALL ÑооÑвеÑÑÑвÑÐµÑ ÑÑандаÑÑÑ SQL, за иÑклÑÑением оÑобенноÑÑи обÑабоÑки вÑÑ
однÑÑ
паÑамеÑÑов. СÑандаÑÑ Ð³Ð¾Ð²Ð¾ÑиÑ, ÑÑо Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñений ÑакиÑ
паÑамеÑÑов нÑжно ÑказÑваÑÑ Ð¿ÐµÑеменнÑе.