Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Documentation that should have been checked in along with checkin (614) (CVS 615) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
10da13612583caacc6fefe3a1f24187b |
User & Date: | danielk1977 2002-06-11 22:33:47.000 |
Context
2002-06-12
| ||
22:33 | Fix for bug #70: Correct a typo in the documentation. (CVS 616) (check-in: 3387d5b6d6 user: drh tags: trunk) | |
2002-06-11
| ||
22:33 | Documentation that should have been checked in along with checkin (614) (CVS 615) (check-in: 10da136125 user: danielk1977 tags: trunk) | |
02:25 | Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: d4a2fb1006 user: danielk1977 tags: trunk) | |
Changes
Changes to www/lang.tcl.
1 2 3 | # # Run this Tcl script to generate the sqlite.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the sqlite.html file. # set rcsid {$Id: lang.tcl,v 1.39 2002/06/11 22:33:47 danielk1977 Exp $} puts {<html> <head> <title>Query Language Understood By SQLite</title> </head> <body bgcolor=white> <h1 align=center> |
︙ | ︙ | |||
451 452 453 454 455 456 457 | BEGIN UPDATE orders SET address = new.address WHERE customer_name = old.name; END; } puts { <p>With this trigger installed, executing the statement:</p> } | < < < < < < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | BEGIN UPDATE orders SET address = new.address WHERE customer_name = old.name; END; } puts { <p>With this trigger installed, executing the statement:</p> } Example { UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones'; } puts { <p>causes the following to be automatically executed:</p> } Example { UPDATE orders SET address = '1 Main St.' WHERE customer_name = 'Jack Jones'; } puts { <p>Note that currently, triggers may behave oddly when created on tables with INTEGER PRIMARY KEY fields. If a BEFORE trigger program modifies the INTEGER PRIMARY KEY field of a row that will be subsequently updated by the statement that causes the trigger to fire, then the update may not occur. The workaround is to declare the table with a PRIMARY KEY column instead of an INTEGER PRIMARY KEY column.</p> } puts { <p>A special SQL function RAISE() may be used within a trigger-program, with the following syntax</p> } Syntax {raise-function} { RAISE ( ABORT, <error-message> ) | RAISE ( FAIL, <error-message> ) | RAISE ( ROLLBACK, <error-message> ) | RAISE ( IGNORE ) } puts { <p>When one of the first three forms is called during trigger-program execution, the specified ON CONFLICT processing is performed (either ABORT, FAIL or ROLLBACK) and the current query terminates. An error code of SQLITE_CONSTRAINT is returned to the user, along with the specified error message.</p> <p>When RAISE(IGNORE) is called, the remainder of the current trigger program, the statement that caused the trigger program to execute and any subsequent trigger programs that would of been executed are abandoned. No database changes are rolled back. If the statement that caused the trigger program to execute is itself part of a trigger program, then that trigger program resumes execution at the beginning of the next step. </p> } Section {CREATE VIEW} {createview} Syntax {sql-command} { CREATE VIEW <view-name> AS <select-statement> } |
︙ | ︙ |