System.Data.SQLite
Check-in [0a3d6229a7]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Pickup the SQLite core library 3.30.1 docs from upstream.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0a3d6229a74252428b0d6f34eeaac4251efe00f8
User & Date: mistachkin 2019-10-27 01:19:48
Context
2019-10-27
01:22
Update the master release archive manifest. check-in: 61a50ced29 user: mistachkin tags: trunk
01:19
Pickup the SQLite core library 3.30.1 docs from upstream. check-in: 0a3d6229a7 user: mistachkin tags: trunk
01:17
Add some more versioning tests. check-in: 2913c0af5c user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Doc/Extra/Core/lang_createtrigger.html.

274
275
276
277
278
279
280

281




282
283
284









285
286
287
288
289
290
291


<p>The CREATE TRIGGER statement is used to add triggers to the 
database schema. Triggers are database operations 
that are automatically performed when a specified database event
occurs.  </p>


<p>A trigger may be specified to fire whenever a <a href="lang_delete.html">DELETE</a>, <a href="lang_insert.html">INSERT</a>,




or <a href="lang_update.html">UPDATE</a> of a
particular database table occurs, or whenever an <a href="lang_update.html">UPDATE</a> occurs on
on one or more specified columns of a table.</p>










<p>At this time SQLite supports only FOR EACH ROW triggers, not FOR EACH
STATEMENT triggers. Hence explicitly specifying FOR EACH ROW is optional.
FOR EACH ROW implies that the SQL statements specified in the trigger
may be executed (depending on the WHEN clause) for each database row being
inserted, updated or deleted by the statement causing the trigger to fire.</p>








>
|
>
>
>
>
|
<
<
>
>
>
>
>
>
>
>
>







274
275
276
277
278
279
280
281
282
283
284
285
286
287


288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303


<p>The CREATE TRIGGER statement is used to add triggers to the 
database schema. Triggers are database operations 
that are automatically performed when a specified database event
occurs.  </p>

<p>Each trigger must specify that it will fire for one of
the following operations: <a href="lang_delete.html">DELETE</a>, <a href="lang_insert.html">INSERT</a>, <a href="lang_update.html">UPDATE</a>.
The trigger fires once for each row that is deleted, inserted,
or updated.  If the "UPDATE OF <span class='yyterm'>column-name</span>"
syntax is used, then the trigger will only fire if
<span class='yyterm'>column-name</span> appears on the left-hand side of
one of the terms in the SET clause of the <a href="lang_update.html">UPDATE</a> statement.</p>



<p>Due to an historical oversight, columns named in the "UPDATE OF"
clause do not actually have to exist in the table being updated.
Unrecognized column names are silently ignored.
It would be more helpful if SQLite would fail the CREATE TRIGGER
statement if any of the names in the "UPDATE OF" clause are not
columns in the table.  However, as this problem was discovered
many years after SQLite was widely deployed, we have resisted
fixing the problem for fear of breaking legacy applications.</p>

<p>At this time SQLite supports only FOR EACH ROW triggers, not FOR EACH
STATEMENT triggers. Hence explicitly specifying FOR EACH ROW is optional.
FOR EACH ROW implies that the SQL statements specified in the trigger
may be executed (depending on the WHEN clause) for each database row being
inserted, updated or deleted by the statement causing the trigger to fire.</p>