mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
docs: update PL/pgSQL docs about the use of := and =
This commit is contained in:
parent
a472ae1e4e
commit
7e1955b861
@ -328,7 +328,7 @@ arow RECORD;
|
|||||||
<para>
|
<para>
|
||||||
The general syntax of a variable declaration is:
|
The general syntax of a variable declaration is:
|
||||||
<synopsis>
|
<synopsis>
|
||||||
<replaceable>name</replaceable> <optional> CONSTANT </optional> <replaceable>type</replaceable> <optional> COLLATE <replaceable>collation_name</replaceable> </optional> <optional> NOT NULL </optional> <optional> { DEFAULT | := } <replaceable>expression</replaceable> </optional>;
|
<replaceable>name</replaceable> <optional> CONSTANT </optional> <replaceable>type</replaceable> <optional> COLLATE <replaceable>collation_name</replaceable> </optional> <optional> NOT NULL </optional> <optional> { DEFAULT | := | = } <replaceable>expression</replaceable> </optional>;
|
||||||
</synopsis>
|
</synopsis>
|
||||||
The <literal>DEFAULT</> clause, if given, specifies the initial value assigned
|
The <literal>DEFAULT</> clause, if given, specifies the initial value assigned
|
||||||
to the variable when the block is entered. If the <literal>DEFAULT</> clause
|
to the variable when the block is entered. If the <literal>DEFAULT</> clause
|
||||||
@ -343,6 +343,8 @@ arow RECORD;
|
|||||||
is specified, an assignment of a null value results in a run-time
|
is specified, an assignment of a null value results in a run-time
|
||||||
error. All variables declared as <literal>NOT NULL</>
|
error. All variables declared as <literal>NOT NULL</>
|
||||||
must have a nonnull default value specified.
|
must have a nonnull default value specified.
|
||||||
|
Equals (<literal>=</>) can be used instead of PL/SQL-compliant
|
||||||
|
<literal>:=</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -866,7 +868,7 @@ PREPARE <replaceable>statement_name</>(integer, integer) AS SELECT $1 < $2;
|
|||||||
An assignment of a value to a <application>PL/pgSQL</application>
|
An assignment of a value to a <application>PL/pgSQL</application>
|
||||||
variable is written as:
|
variable is written as:
|
||||||
<synopsis>
|
<synopsis>
|
||||||
<replaceable>variable</replaceable> := <replaceable>expression</replaceable>;
|
<replaceable>variable</replaceable> { := | = } <replaceable>expression</replaceable>;
|
||||||
</synopsis>
|
</synopsis>
|
||||||
As explained previously, the expression in such a statement is evaluated
|
As explained previously, the expression in such a statement is evaluated
|
||||||
by means of an SQL <command>SELECT</> command sent to the main
|
by means of an SQL <command>SELECT</> command sent to the main
|
||||||
@ -874,7 +876,8 @@ PREPARE <replaceable>statement_name</>(integer, integer) AS SELECT $1 < $2;
|
|||||||
a row value, if the variable is a row or record variable). The target
|
a row value, if the variable is a row or record variable). The target
|
||||||
variable can be a simple variable (optionally qualified with a block
|
variable can be a simple variable (optionally qualified with a block
|
||||||
name), a field of a row or record variable, or an element of an array
|
name), a field of a row or record variable, or an element of an array
|
||||||
that is a simple variable or field.
|
that is a simple variable or field. Equals (<literal>=</>) can be
|
||||||
|
used instead of PL/SQL-compliant <literal>:=</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -1411,7 +1414,7 @@ EXECUTE format('UPDATE tbl SET %I = $1 WHERE key = $2', colname)
|
|||||||
command, which has the form:
|
command, which has the form:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>item</replaceable> <optional> , ... </optional>;
|
GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replaceable>item</replaceable> <optional> , ... </optional>;
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
This command allows retrieval of system status indicators. Each
|
This command allows retrieval of system status indicators. Each
|
||||||
@ -1425,6 +1428,8 @@ GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceabl
|
|||||||
<acronym>SQL</acronym> command. Note that <varname>RESULT_OID</>
|
<acronym>SQL</acronym> command. Note that <varname>RESULT_OID</>
|
||||||
is only useful after an <command>INSERT</command> command into a
|
is only useful after an <command>INSERT</command> command into a
|
||||||
table containing OIDs.
|
table containing OIDs.
|
||||||
|
Equals (<literal>:=</>) can be used instead of SQL-standard
|
||||||
|
<literal>=</> for <command>GET DIAGNOSTICS</>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -2672,7 +2677,7 @@ SELECT merge_db(1, 'dennis');
|
|||||||
<command>GET STACKED DIAGNOSTICS</command> command, which has the form:
|
<command>GET STACKED DIAGNOSTICS</command> command, which has the form:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
GET STACKED DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>item</replaceable> <optional> , ... </optional>;
|
GET STACKED DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replaceable>item</replaceable> <optional> , ... </optional>;
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
Each <replaceable>item</replaceable> is a key word identifying a status
|
Each <replaceable>item</replaceable> is a key word identifying a status
|
||||||
@ -2776,7 +2781,7 @@ END;
|
|||||||
<para>
|
<para>
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> = <replaceable>PG_CONTEXT</replaceable> <optional> , ... </optional>;
|
GET <optional> CURRENT </optional> DIAGNOSTICS <replaceable>variable</replaceable> { = | := } <replaceable>PG_CONTEXT</replaceable> <optional> , ... </optional>;
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
|
|
||||||
|
@ -796,7 +796,12 @@ decl_defkey : assign_operator
|
|||||||
| K_DEFAULT
|
| K_DEFAULT
|
||||||
;
|
;
|
||||||
|
|
||||||
assign_operator : '=' /* not documented because it might be removed someday */
|
/*
|
||||||
|
* Ada-based PL/SQL uses := for assignment and variable defaults, while
|
||||||
|
* the SQL standard uses equals for these cases and for GET
|
||||||
|
* DIAGNOSTICS, so we support both. FOR and OPEN only support :=.
|
||||||
|
*/
|
||||||
|
assign_operator : '='
|
||||||
| COLON_EQUALS
|
| COLON_EQUALS
|
||||||
;
|
;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user