Content-Length: 82904 | pFad | http://postgrespro.ru/docs/postgrespro/current/xproc.html

Postgres Pro Standard : Документация: 17: 36.4. Пользовательские процедуры : Компания Postgres Professional

36.4. Пользовательские процедуры #

Процедура — объект базы данных, подобный функции, но имеющий следующие отличия:

  • Процедуры определяются командой CREATE PROCEDURE, а не CREATE FUNCTION.

  • Процедуры, в отличие от функций, не возвращают значение; поэтому в CREATE PROCEDURE отсутствует предложение RETURNS. Однако процедуры могут выдавать данные в вызывающий код через выходные параметры.

  • Функции вызываются как часть запроса или команды DML, а процедуры вызываются отдельно командой CALL.

  • Процедура, в отличие от функции, может фиксировать или откатывать транзакции во время её выполнения (а затем автоматически начинать новую транзакцию), если вызывающая команда CALL находится не в явном блоке транзакции.

  • Некоторые атрибуты функций (например, STRICT) неприменимы к процедурам. Эти атрибуты влияют на вызов функций в запросах и не имеют отношения к процедурам.

В следующих разделах рассказывается о том, как определять пользовательские функции, что также применимо к процедурам, с учётом вышеперечисленных особенностей.

Функции и процедуры в совокупности также называются подпрограммами. Существуют команды, такие как ALTER ROUTINE и DROP ROUTINE, которые способны работать и с функциями, и с процедурами, не требуя указания точного вида объекта. Однако заметьте, что команды CREATE ROUTINE нет.









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://postgrespro.ru/docs/postgrespro/current/xproc.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy