From: Tom Lane Date: Mon, 17 Jul 2017 20:43:03 +0000 (-0400) Subject: Doc: explain dollar quoting in the intro part of the pl/pgsql chapter. X-Git-Tag: REL9_6_4~43 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=236bdae543d9ecd6a413b9e5b5c9d1237c6774c5;p=postgresql 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 --- diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index d3272e1209..eb1e786200 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -179,9 +179,27 @@ Structure of <application>PL/pgSQL</application> + + Functions written in PL/pgSQL are defined + to the server by executing commands. + Such a command would normally look like, say, + +CREATE FUNCTION somefunc(integer, text) RETURNS integer +AS 'function body text' +LANGUAGE plpgsql; + + The function body is simply a string literal so far as CREATE + FUNCTION is concerned. It is often helpful to use dollar quoting + (see ) 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. + + PL/pgSQL 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 block. A block is defined as: