*** DRAFT ***

SQLite Requirement Matrix Details
lang_createview.html

Index Summary Markup Original


R-35165-50266-45227-34036-24566-60205-43317-23628 tcl slt th3 src

Canonical usage: syntax/create-view-stmt.html

/* IMP: R-35165-50266 */
# EVIDENCE-OF: R-35165-50266 -- syntax diagram create-view-stmt

R-19713-52738-52485-51770-14412-64430-18771-01641 tcl slt th3 src

Canonical usage: syntax/select-stmt.html

/* IMP: R-19713-52738 */
# EVIDENCE-OF: R-19713-52738 -- syntax diagram select-stmt

R-29190-16177-49676-56162-41955-57961-52271-56322 tcl slt th3 src

Canonical usage: syntax/common-table-expression.html

/* IMP: R-29190-16177 */
# EVIDENCE-OF: R-29190-16177 -- syntax diagram common-table-expression

R-60687-03927-28728-46307-01187-04245-57381-09290 tcl slt th3 src

Canonical usage: syntax/compound-operator.html

/* IMP: R-60687-03927 */
# EVIDENCE-OF: R-60687-03927 -- syntax diagram compound-operator

R-61970-26480-33028-36412-61944-06610-41249-40014 tcl slt th3 src

Canonical usage: syntax/expr.html

/* IMP: R-61970-26480 */
# EVIDENCE-OF: R-61970-26480 -- syntax diagram expr

R-47443-11280-39343-26300-13209-50193-13307-46522 tcl slt th3 src

Canonical usage: syntax/literal-value.html

/* IMP: R-47443-11280 */
# EVIDENCE-OF: R-47443-11280 -- syntax diagram literal-value

R-54197-31877-57350-43471-52348-15226-37714-44266 tcl slt th3 src

Canonical usage: syntax/raise-function.html

/* IMP: R-54197-31877 */
# EVIDENCE-OF: R-54197-31877 -- syntax diagram raise-function

R-27503-48393-50904-62536-02444-59493-56551-12481 tcl slt th3 src

Canonical usage: syntax/type-name.html

/* IMP: R-27503-48393 */
# EVIDENCE-OF: R-27503-48393 -- syntax diagram type-name

R-16446-38486-52659-45236-06548-25582-51186-33834 tcl slt th3 src

Canonical usage: syntax/signed-number.html

/* IMP: R-16446-38486 */
# EVIDENCE-OF: R-16446-38486 -- syntax diagram signed-number

R-15218-64377-10732-10708-39996-49168-39639-07301 tcl slt th3 src

Canonical usage: syntax/join-clause.html

/* IMP: R-15218-64377 */
# EVIDENCE-OF: R-15218-64377 -- syntax diagram join-clause

R-59355-25880-50978-14585-20539-54763-44134-61379 tcl slt th3 src

Canonical usage: syntax/join-constraint.html

/* IMP: R-59355-25880 */
# EVIDENCE-OF: R-59355-25880 -- syntax diagram join-constraint

R-24999-30014-65347-53781-01089-16331-37334-22917 tcl slt th3 src

Canonical usage: syntax/join-operator.html

/* IMP: R-24999-30014 */
# EVIDENCE-OF: R-24999-30014 -- syntax diagram join-operator

R-54382-61764-64572-42659-14322-10734-05041-01494 tcl slt th3 src

Canonical usage: syntax/ordering-term.html

/* IMP: R-54382-61764 */
# EVIDENCE-OF: R-54382-61764 -- syntax diagram ordering-term

R-35473-09323-51070-49381-06532-56561-01297-03559 tcl slt th3 src

Canonical usage: syntax/result-column.html

/* IMP: R-35473-09323 */
# EVIDENCE-OF: R-35473-09323 -- syntax diagram result-column

R-45000-47812-33792-18048-40996-50849-16831-13312 tcl slt th3 src

Canonical usage: syntax/table-or-subquery.html

/* IMP: R-45000-47812 */
# EVIDENCE-OF: R-45000-47812 -- syntax diagram table-or-subquery

R-13439-14752-32196-09382-64767-42844-00603-31803 tcl slt th3 src

The CREATE VIEW command assigns a name to a pre-packaged SELECT statement.

th3/req1/view01.test:11

/* IMP: R-13439-14752 */
# EVIDENCE-OF: R-13439-14752 The CREATE VIEW command assigns a name to a
# pre-packaged SELECT statement.

R-63075-15970-39501-22460-58793-43455-08281-02350 tcl slt th3 src

Once the view is created, it can be used in the FROM clause of another SELECT in place of a table name.

th3/req1/view01.test:14

/* IMP: R-63075-15970 */
# EVIDENCE-OF: R-63075-15970 Once the view is created, it can be used in
# the FROM clause of another SELECT in place of a table name.

R-23992-54131-34297-51092-28105-58242-15143-29320 tcl slt th3 src

If the "TEMP" or "TEMPORARY" keyword occurs in between "CREATE" and "VIEW" then the view that is created is only visible to the database connection that created it and is automatically deleted when the database connection is closed.

th3/req1/view01.test:27

/* IMP: R-23992-54131 */
# EVIDENCE-OF: R-23992-54131 If the "TEMP" or "TEMPORARY" keyword occurs
# in between "CREATE" and "VIEW" then the view that is created is only
# visible to the database connection that created it and is
# automatically deleted when the database connection is closed.

R-20124-57769-12967-06011-36499-08186-14693-61176 tcl slt th3 src

If a schema-name is specified, then the view is created in the specified database.

th3/req1/view01.test:46

/* IMP: R-20124-57769 */
# EVIDENCE-OF: R-20124-57769 If a schema-name is specified, then the
# view is created in the specified database.

R-11564-19849-41478-44833-06358-20754-48496-53228 tcl slt th3 src

It is an error to specify both a schema-name and the TEMP keyword on a VIEW, unless the schema-name is "temp".

/* IMP: R-11564-19849 */
# EVIDENCE-OF: R-11564-19849 It is an error to specify both a
# schema-name and the TEMP keyword on a VIEW, unless the schema-name is
# "temp".

R-63159-49573-46616-00271-21180-18293-63861-41327 tcl slt th3 src

If no schema name is specified, and the TEMP keyword is not present, the VIEW is created in the main database.

th3/req1/view01.test:49   th3/req1/view01.test:89

/* IMP: R-63159-49573 */
# EVIDENCE-OF: R-63159-49573 If no schema name is specified, and the
# TEMP keyword is not present, the VIEW is created in the main database.

R-16775-34716-48016-59856-43563-01952-64923-08515 tcl slt th3 src

You cannot DELETE, INSERT, or UPDATE a view.

slt/slt_lang_createview.test:65   th3/req1/view01.test:120

/* IMP: R-16775-34716 */
# EVIDENCE-OF: R-16775-34716 You cannot DELETE, INSERT, or UPDATE a
# view.

R-05363-17893-60997-09697-28202-47991-52787-63067 tcl slt th3 src

Views are read-only in SQLite.

th3/req1/view01.test:118

/* IMP: R-05363-17893 */
# EVIDENCE-OF: R-05363-17893 Views are read-only in SQLite.

R-16876-26469-56495-43773-04643-04870-06914-01150 tcl slt th3 src

However, in many cases you can use an INSTEAD OF trigger on the view to accomplish the same thing.

/* IMP: R-16876-26469 */
# EVIDENCE-OF: R-16876-26469 However, in many cases you can use an
# INSTEAD OF trigger on the view to accomplish the same thing.

R-10484-47921-51855-29245-64644-01052-63397-23881 tcl slt th3 src

Views are removed with the DROP VIEW command.

slt/slt_lang_createview.test:108   th3/req1/view01.test:104

/* IMP: R-10484-47921 */
# EVIDENCE-OF: R-10484-47921 Views are removed with the DROP VIEW
# command.

R-49858-53293-55345-56898-28930-13121-51128-08876 tcl slt th3 src

If a column-name list follows the view-name, then that list determines the names of the columns for the view.

/* IMP: R-49858-53293 */
# EVIDENCE-OF: R-49858-53293 If a column-name list follows the
# view-name, then that list determines the names of the columns for the
# view.

R-36185-29671-26091-33323-34163-48928-21638-35689 tcl slt th3 src

If the column-name list is omitted, then the names of the columns in the view are derived from the names of the result-set columns in the select-stmt.

/* IMP: R-36185-29671 */
# EVIDENCE-OF: R-36185-29671 If the column-name list is omitted, then
# the names of the columns in the view are derived from the names of the
# result-set columns in the select-stmt.