Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD / Labs / Russian / Russian / Lab3R-Data manipulation.doc
Скачиваний:
18
Добавлен:
20.02.2016
Размер:
165.38 Кб
Скачать
      1. Ключевые слова и параметры

        schema

        Имя схемы, содержащей таблицу. Если схема опущена, то Oracle предполагает, что таблица находится в вашей схеме.  

        table

        Имя таблицы, в которую вставляются строки.  

        column

         

        Столбец таблицы. Во вставляемой строке содержатся значения из столбцов, указанных в списке. Эти значения указываются во фразе VALUES или получаются в результате вычисления подзапроса.  

        Если в списке опущено имя столбца, то ему будет присвоено ьзначение по умолчанию, заданное при определении таблицы. Для получения дополнительной информации о значениях по умолчанию см. лабораторную работу 1. Если такой столбец имеет ограничение NOT NULL и для него не определено значение по умолчанию, то Oracle выдаст ошибку, указывающую, что нарушено ограничение NOT NULL, и произведет полный откат результатов выполнения предложения INSERT.

        Если список столбцов отсутствует, то фраза VALUES или подзапрос должны содержать значения для всех столбцов таблицы.  

        values_clause

        specifies a row of values to be inserted into the table or view. You must specify a value in the values_clause for each column in the column list. If you omit the column list, then the values_clause must provide values for every column in the table.  

        subquery

         

         

        Подзапрос, которые возвращает строки, вставляемые в таблицу. Если подзапрос не возвращает строк, Oracle не вставляет ни одной строки в таблицу.

        Если подзапрос специфицирован с фразой VALUES, то подзапрос возвращает значения, вставляемые в одну строку.

        Если подзапрос специфицирован без фразы VALUES, то подзапрос возвращает значения, вставляемые в боле, чем одну строку.

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

        t_alias

        Предоставляет имя-синоним для таблицы, которое может использоваться в любом месте предложения INSERT.  

      2. Примеры

Примеры с использованием фразы VALUES

В следующем примере вставляется стока в таблицу FACULTY. Так как вставляются значения всех столбцов, список столбцов опускается:

INSERT INTO FACULTY

VALUES (1, 'informatics', 'NULL', '5', 93517);

В следующем примере вставляются значения в 7 столбцов таблицы TEACHER. Двум столбцам явно присваивается значение NULL. Значения двух столбцов (Tel и Commission) не определены. Поэтом столбцу Tel присваивается значение NULL, а Commission – значение по умолчанию 0. Последний столбец указывает, что данный преподаватель имеет в качестве своего руководителя преподавателя с первичным ключом 2:

INSERT INTO TEACHER (TchPK, DepFK, name, post, hiredate, salary, ChiefFK)

VALUES (15, 7, 'Ivanov', NULL, NULL, TO_DATE('25.07.2001', 'DD.MM.YYYY'), 350.00, 2);

Пример с использование подзапроса

В следующем примере производится копирование значений всех столбцов для преподавателей-профессоров с надбавками, превышающими 25% ставки, в таблицу BONUS:

INSERT INTO bonus

SELECT *

FROM TEACHER

WHERE Commission > 0.25 * salary AND post 'proessor';

    1. Обновление строк в таблице

      1. Синтаксис

      1. Назначение

Изменение существующих значений столбцов в соответствующих строках таблицы.

      1. Предварительные требования

Чтобы иметь возможность обновлять значения в таблице, принадлежащей вашей схеме, вы должны иметь привилегию UPDATE по отношению к этой таблице.

Для обновления строк в таблицах других схем необходима системная привилегия UPDATE ANY TABLE.

Соседние файлы в папке Russian