Введение в стандарты языка баз данных SQL

       

Оператор вставки


Оператор служит для создания новых строк в таблице и обладает следующим синтаксисом:

<insert statement> ::= INSERT INTO <table name> [(<insert column list>)] {VALUES (<insert value list>) <query specification>} <insert column list> ::= <column name> [{,<column name>}...] <insert value list> ::= <insert value> [{,<insert value>...] <insert value> ::= <value specification> NULL

Таблица T, указанная в операторе INSERT, должна быть обновляемой и не должна указываться в разделе FROM спецификации запроса или подзапроса, используемого в разделе VALUES.

Выполнение оператора INSERT происходит следующим образом: создается возможная (candidate) строка, содержащая столько же столбцов, сколько их в таблице T (если T - представление, то возможная строка содержит столько столбцов, сколько их в таблице, порождающей T); для каждого объектного столбца возможной строки его значение заменяется на вставляемое значение; полученная строка заносится в T.

Если в разделе VALUES указывается спецификация запроса, то пусть R обозначает ее результат. Если R пуст, то параметру SQLCODE присваивается значение 100, и никакая строка не вставляется. Число созданных возможных строк равно мощности R. Вставляемые значения одной возможной строки являются значениями одной строки R, и значения в одной строке R являются вставляемыми значениями одной возможной строки.



Содержание раздела