Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также

Структуризированный язык запросов (SQL)

Глава 4. Предложения модификации данных SQL

4.1. Особенности и синтаксис предложений модификации
4.2. Предложение DELETE
4.3. Предложение INSERT
4.4. Предложение UPDATE
4.5. О конструировании предложений модификации

4.5. О конструировании предложений модификации.

Для тех, кто достаточно хорошо понял предложение SELECT, несложно овладеть конструированием предложений DELETE, INSERT и UPDATE. Но в процессе такого конструирования следует учитывать, что:

  1. Если в WHERE фразе предложений DELETE и UPDATE используется вложенный подзапрос, то во фразе FROM этого подзапроса не должна упоминаться таблица, из которой удаляются (в которой обновляются) строки. Аналогично, в подзапросе предложения INSERT не должна упоминаться таблица, в которую загружаются данные.

    Так, SQL отвергнет предложение

    INSERT
    INTO Выбрано
    SELECT (33), Т, БЛ
    FROM Выбрано
    WHERE СМ = 17;

    позволяющее ввести информацию о том, что отдыхающий, сидящий на 33-м месте, выбирает тот же набор блюд, что и отдыхающий, сидящий на 17-м месте. Ввод придется осуществить через какую-либо промежуточную таблицу, например, таблицу Выбор:

    DELETE
    FROM Выбор;
    INSERT
    INTO Выбор (СМ, Т, БЛ)
    SELECT (33), Т, БЛ
    FROM Выбрано
    WHERE СМ = 17;
    INSERT
    INTO Выбрано
    SELECT СМ, Т, БЛ
    FROM Выбор;
  2. Составляя предложения модификации данных, необходимо все время помнить о сохранении непротиворечивости базы данных. Об этом упоминалось ранее и подробно говорилось в литературе [2].










helloworld.ru © 2001-2021
Все права защищены