diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-07-17 16:43:03 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-07-17 16:43:30 -0400 |
commit | 6b623125725ea324261b3aff7a8b5a8bf4447f71 (patch) | |
tree | 6996057967ee5bca562d244867038cc43d0836b1 | |
parent | 45c782573339f8924cce6bbf34f4d6793e0708a6 (diff) |
Doc: explain dollar quoting in the intro part of the pl/pgsql chapter.
We're throwing people into the guts of the syntax with not much context;
let's back up one step and point out that this goes inside a literal in
a CREATE FUNCTION command. Per suggestion from Kurt Kartaltepe.
Discussion: https://postgr.es/m/CACawnnyWAmH+au8nfZhLiFfWKjXy4d0kY+eZWfcxPRnjVfaa_Q@mail.gmail.com
-rw-r--r-- | doc/src/sgml/plpgsql.sgml | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index a085bcbde38..c877a70cccc 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -180,8 +180,26 @@ <title>Structure of <application>PL/pgSQL</application></title> <para> + Functions written in <application>PL/pgSQL</application> are defined + to the server by executing <xref linkend="sql-createfunction"> commands. + Such a command would normally look like, say, +<programlisting> +CREATE FUNCTION somefunc(integer, text) RETURNS integer +AS '<replaceable>function body text</>' +LANGUAGE plpgsql; +</programlisting> + The function body is simply a string literal so far as <command>CREATE + FUNCTION</> is concerned. It is often helpful to use dollar quoting + (see <xref linkend="sql-syntax-dollar-quoting">) to write the function + body, rather than the normal single quote syntax. Without dollar quoting, + any single quotes or backslashes in the function body must be escaped by + doubling them. Almost all the examples in this chapter use dollar-quoted + literals for their function bodies. + </para> + + <para> <application>PL/pgSQL</application> is a block-structured language. - The complete text of a function definition must be a + The complete text of a function body must be a <firstterm>block</>. A block is defined as: <synopsis> |