From 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 16 Apr 2024 21:46:48 +0200 Subject: Adding upstream version 15.4. Signed-off-by: Daniel Baumann --- doc/src/sgml/html/xproc.html | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 doc/src/sgml/html/xproc.html (limited to 'doc/src/sgml/html/xproc.html') diff --git a/doc/src/sgml/html/xproc.html b/doc/src/sgml/html/xproc.html new file mode 100644 index 0000000..1c15497 --- /dev/null +++ b/doc/src/sgml/html/xproc.html @@ -0,0 +1,41 @@ + +38.4. User-Defined Procedures

38.4. User-Defined Procedures

+ A procedure is a database object similar to a function. + The key differences are: + +

  • + Procedures are defined with + the CREATE + PROCEDURE command, not CREATE + FUNCTION. +

  • + Procedures do not return a function value; hence CREATE + PROCEDURE lacks a RETURNS clause. + However, procedures can instead return data to their callers via + output parameters. +

  • + While a function is called as part of a query or DML command, a + procedure is called in isolation using + the CALL command. +

  • + A procedure can commit or roll back transactions during its + execution (then automatically beginning a new transaction), so long + as the invoking CALL command is not part of an + explicit transaction block. A function cannot do that. +

  • + Certain function attributes, such as strictness, don't apply to + procedures. Those attributes control how the function is + used in a query, which isn't relevant to procedures. +

+

+ The explanations in the following sections about how to define + user-defined functions apply to procedures as well, except for the + points made above. +

+ Collectively, functions and procedures are also known + as routines. + There are commands such as ALTER ROUTINE + and DROP ROUTINE that can operate on functions and + procedures without having to know which kind it is. Note, however, that + there is no CREATE ROUTINE command. +

\ No newline at end of file -- cgit v1.2.3