Однострочная инструкция insert

Однострочная инструкция INSERT применяется для добавления одной записи в таблицу и имеет формат

INSERT INTO <объект> [(столбец1 [, столбец2...])]

VALUES (<значение1> [, <значение2>...])

В предложении INTO указывается целевая таблица, в которую вставляется новая строка, а в предложении VALUES содержатся значения данных для новой строки. Значения присваиваются столбцам по порядку следования в операторе: первому по порядку столбцу присваивается первое значение, второму столбцу − второе значение и т. д.

Пример: добавить информацию о новом служащем в таблицу SLUZHASCHIE:

INSERT INTO SLUZHASCHIE (ID_SLUZH, FAMILY, NAME, AGE, MNGR, ID_OFC, QUOTA)

VALUES (211, Аршавин, Андрей, 25, 106, 11, $300 000.00)

В приведенной инструкции данные о продажах нового служащего не вводятся, так как их у него еще нет. Поэтому при определении таблицы инструкцией CREATE TABLE, либо нужно определить для этого поля значение по умолчанию (ключевое слово DEFAULT), либо нужно допустить значение NULL (т.е. в определении этого поля не должно быть ключевого слова NOT NULL).

Если же столбцы таблицы SLUZHASCHIE указаны в полном составе и именно в том порядке, в котором перечислены при создании таблицы инструкцией CREATE TABLE, оператор можно упростить:

INSERT INTO SLUZHASCHIE

VALUES (211, Аршавин, Андрей, 25, 106, 11, $300 000.00, $0.00)

Для установки уникального значения поля первичного ключа ID_SLZH можно воспользоваться генератором:

INSERT INTO SLUZHASCHIE

VALUES (GEN_ID(ID_SLUZH, 2), Аршавин, Андрей, 25, 106, 11, $300 000.00, $0.00)

Многострочная инструкция INSERT

Многострочная инструкция INSERT добавляет в целевую таблицу несколько строк и имеет следующий формат:

INSERT INTO <объект> [(столбец1 [, столбец2...])]

<оператор SELECT>}

При этом значениями, которые присваиваются столбцам, являются значения, возвращаемые оператором SELECT. Порядок их назначения столбцам аналогичен предыдущей форме оператора INSERT: значение первого по порядку столбца результирующего набора присваивается первому столбцу оператора INSERT, второй − второму и т. д. Следует обратить внимание на важную особенность: поскольку оператор SELECT в общем случае возвращает множество записей, то и оператор INSERT в данной форме приведет к добавлению аналогичного числа новых записей.

Пример. Скопировать старые заказы в таблицу OLDORDERS:

INSERT INTO OLDORDERS (ID_ORDER, ORDER_DATE, PRICE)

SELECT ID_ORDER, ORDER_DATE, PRICE

FROM ZAKAZY

WHERE ORDER_DATE < ’01-JAN-2002’


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: