В этом случае следует воспользоваться курсором и выбрать каждую строку по отдельности (см. главу 6). Следующий пример показывает два различных оператора SELECT:
Здесь указывает на таблицу — на столбец этой таблицы, а выражение является выражением SQL или PL/SQL, как это было определено в предыдущей главе. Ссылки на таблицы более подробно обсуждаются ниже. Если в операторе INSERT имеется оператор_выбора, то список выбора должен соответствовать столбцам, в которые вносится информация. Запрос такого типа называется подзапросом, так как он находится внутри другого оператора SQL.
Внимание
Подобно SELECT, INSERT может иметь и другие формы. Например, можно использовать подзапрос как часть предложения VALUES (см. руководство "Server SQL Reference").
Приведем пример использования оператора INSERT:
Следующий пример правильный. Здесь при помощи ввода второй копии каждой из строк удваивается размер таблицы temptable:
Ниже приведен пример недопустимого INSERT, так как список выбора в подзапросе не соответствует столбцам, в которые вводятся данные. В результате выполнения этого оператора возвращается ошибка: "ORA-913: Too many values" (Слишком много значений).
В версии oracle, допускающей применение объектов, в операторе INSERT можно применять дополнительную конструкцию REF INTO. При использовании этой конструкции с объектными таблицами она будет возвращать ссылку на объект, в который вводится информация (см. главу 12).
< Предыдущая | Следующая > |
---|