diff options
author | Tom Lane | 2017-07-17 20:43:03 +0000 |
---|---|---|
committer | Tom Lane | 2017-07-17 20:43:06 +0000 |
commit | 533463307bf67e1bb7acc345ba7ea535c6aebb78 (patch) | |
tree | e4e464006a5e9a094778b83871d3504b0b6895b2 | |
parent | cde11fa3c003407fc6c4ddc427d57e588ea17d1c (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 dc29e7cd0f..2f166d2d59 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> |