mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
Improve docs on updatable views
Introduce the options before going into details, and add a link to the CREATE TRIGGER documentation. Author: David Johnston Reviewed-By: Anastasia Lubennikova Discussion: https://postgr.es/m/CAKFQuwYLLRhheo0_Y4Jp=vJ_YDsz1KoRuTpX1A_bUxmHTmLe-A@mail.gmail.com
This commit is contained in:
parent
f1516ad7b3
commit
e045565dae
@ -797,6 +797,10 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
|
||||
relation points at a subquery range-table entry, which will not
|
||||
work. There are several ways in which <productname>PostgreSQL</productname>
|
||||
can support the appearance of updating a view, however.
|
||||
In order of user-experienced complexity those are: automatically substitute
|
||||
in the underlying table for the view, execute a user-defined trigger,
|
||||
or rewrite the query per a user-defined rule.
|
||||
These options are discussed below.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -812,7 +816,8 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
|
||||
|
||||
<para>
|
||||
Alternatively, the operation may be handled by a user-provided
|
||||
<literal>INSTEAD OF</literal> trigger on the view.
|
||||
<literal>INSTEAD OF</literal> trigger on the view
|
||||
(see <xref linkend="sql-createtrigger"/>).
|
||||
Rewriting works slightly differently
|
||||
in this case. For <command>INSERT</command>, the rewriter does
|
||||
nothing at all with the view, leaving it as the result relation
|
||||
|
Loading…
Reference in New Issue
Block a user