*** DRAFT ***

SQLite Requirement Matrix Details
lang_insert.html

Index Summary Markup Original


R-21490-41092-09920-20398-33812-50363-51367-35594 tcl slt th3 src

The first form (with the "VALUES" keyword) creates one or more new rows in an existing table.

tcl/e_insert.test:144

/* IMP: R-21490-41092 */
# EVIDENCE-OF: R-21490-41092 The first form (with the "VALUES" keyword)
# creates one or more new rows in an existing table.

R-19218-01018-34190-29408-05030-57766-08679-20332 tcl slt th3 src

If the column-name list after table-name is omitted then the number of values inserted into each row must be the same as the number of columns in the table.

tcl/e_insert.test:160

/* IMP: R-19218-01018 */
# EVIDENCE-OF: R-19218-01018 If the column-name list after table-name is
# omitted then the number of values inserted into each row must be the
# same as the number of columns in the table.

R-29730-42609-05554-56391-51377-12498-20824-07696 tcl slt th3 src

In this case the result of evaluating the left-most expression from each term of the VALUES list is inserted into the left-most column of each new row, and so forth for each subsequent expression.

tcl/e_insert.test:177

/* IMP: R-29730-42609 */
# EVIDENCE-OF: R-29730-42609 In this case the result of evaluating the
# left-most expression from each term of the VALUES list is inserted
# into the left-most column of each new row, and so forth for each
# subsequent expression.

R-21115-58321-25716-23770-11415-21637-17771-56749 tcl slt th3 src

If a column-name list is specified, then the number of values in each term of the VALUE list must match the number of specified columns.

tcl/e_insert.test:194

/* IMP: R-21115-58321 */
# EVIDENCE-OF: R-21115-58321 If a column-name list is specified, then
# the number of values in each term of the VALUE list must match the
# number of specified columns.

R-07016-26442-22994-35571-41506-56753-23987-59797 tcl slt th3 src

Each of the named columns of the new row is populated with the results of evaluating the corresponding VALUES expression.

tcl/e_insert.test:212

/* IMP: R-07016-26442 */
# EVIDENCE-OF: R-07016-26442 Each of the named columns of the new row is
# populated with the results of evaluating the corresponding VALUES
# expression.

R-12183-43719-06718-33366-17178-17275-22858-03286 tcl slt th3 src

Table columns that do not appear in the column list are populated with the default column value (specified as part of the CREATE TABLE statement), or with NULL if no default value is specified.

tcl/e_insert.test:216

/* IMP: R-12183-43719 */
# EVIDENCE-OF: R-12183-43719 Table columns that do not appear in the
# column list are populated with the default column value (specified as
# part of the CREATE TABLE statement), or with NULL if no default value
# is specified.

R-52173-30215-53600-04024-57111-07523-42614-02715 tcl slt th3 src

A new entry is inserted into the table for each row of data returned by executing the SELECT statement.

tcl/e_insert.test:230

/* IMP: R-52173-30215 */
# EVIDENCE-OF: R-52173-30215 A new entry is inserted into the table for
# each row of data returned by executing the SELECT statement.

R-63614-47421-34077-31697-65388-09052-31073-41571 tcl slt th3 src

If a column-list is specified, the number of columns in the result of the SELECT must be the same as the number of items in the column-list.

tcl/e_insert.test:259

/* IMP: R-63614-47421 */
# EVIDENCE-OF: R-63614-47421 If a column-list is specified, the number
# of columns in the result of the SELECT must be the same as the number
# of items in the column-list.

R-58951-07798-10781-33185-41283-52563-14350-38026 tcl slt th3 src

Otherwise, if no column-list is specified, the number of columns in the result of the SELECT must be the same as the number of columns in the table.

tcl/e_insert.test:279

/* IMP: R-58951-07798 */
# EVIDENCE-OF: R-58951-07798 Otherwise, if no column-list is specified,
# the number of columns in the result of the SELECT must be the same as
# the number of columns in the table.

R-31074-37730-44024-06868-31899-04779-58492-60283 tcl slt th3 src

Any SELECT statement, including compound SELECTs and SELECT statements with ORDER BY and/or LIMIT clauses, may be used in an INSERT statement of this form.

tcl/e_insert.test:293

/* IMP: R-31074-37730 */
# EVIDENCE-OF: R-31074-37730 Any SELECT statement, including compound
# SELECTs and SELECT statements with ORDER BY and/or LIMIT clauses, may
# be used in an INSERT statement of this form.

R-25149-22012-48563-28153-37839-65089-07651-08185 tcl slt th3 src

The INSERT ... DEFAULT VALUES statement inserts a single new row into the named table.

tcl/e_insert.test:315

/* IMP: R-25149-22012 */
# EVIDENCE-OF: R-25149-22012 The INSERT ... DEFAULT VALUES statement
# inserts a single new row into the named table.

R-18927-01951-35709-41382-23039-58065-29475-65248 tcl slt th3 src

Each column of the new row is populated with its default value, or with a NULL if no default value is specified as part of the column definition in the CREATE TABLE statement.

tcl/e_insert.test:325

/* IMP: R-18927-01951 */
# EVIDENCE-OF: R-18927-01951 Each column of the new row is populated
# with its default value, or with a NULL if no default value is
# specified as part of the column definition in the CREATE TABLE
# statement.

R-00267-47727-45128-11139-64344-07863-10234-35895 tcl slt th3 src

The initial "INSERT" keyword can be replaced by "REPLACE" or "INSERT OR action" to specify an alternative constraint conflict resolution algorithm to use during that one INSERT command.

tcl/e_insert.test:351

/* IMP: R-00267-47727 */
# EVIDENCE-OF: R-00267-47727 The initial "INSERT" keyword can be
# replaced by "REPLACE" or "INSERT OR action" to specify an alternative
# constraint conflict resolution algorithm to use during that one INSERT
# command.

R-23110-47146-52080-06643-60978-41760-17507-36913 tcl slt th3 src

the parser allows the use of the single keyword REPLACE as an alias for "INSERT OR REPLACE".

tcl/e_insert.test:356

/* IMP: R-23110-47146 */
# EVIDENCE-OF: R-23110-47146 the parser allows the use of the single
# keyword REPLACE as an alias for "INSERT OR REPLACE".

R-59829-49719-48760-25089-64787-41616-07778-57513 tcl slt th3 src

The optional "schema-name." prefix on the table-name is supported for top-level INSERT statements only.

tcl/e_insert.test:398

/* IMP: R-59829-49719 */
# EVIDENCE-OF: R-59829-49719 The optional "schema-name." prefix on the
# table-name is supported for top-level INSERT statements only.

R-05731-00924-21642-36920-42396-08100-00001-17293 tcl slt th3 src

The table name must be unqualified for INSERT statements that occur within CREATE TRIGGER statements.

tcl/e_insert.test:401

/* IMP: R-05731-00924 */
# EVIDENCE-OF: R-05731-00924 The table name must be unqualified for
# INSERT statements that occur within CREATE TRIGGER statements.

R-15888-36326-49147-46840-54698-34618-50911-39482 tcl slt th3 src

Similarly, the "DEFAULT VALUES" form of the INSERT statement is supported for top-level INSERT statements only and not for INSERT statements within triggers.

tcl/e_insert.test:418

/* IMP: R-15888-36326 */
# EVIDENCE-OF: R-15888-36326 Similarly, the "DEFAULT VALUES" form of the
# INSERT statement is supported for top-level INSERT statements only and
# not for INSERT statements within triggers.