Программирование в Microsoft SQL Server 2000

         

Вставка нескольких строк


Оператор INSERT имеет вторую форму, которая использует оператор SELECT вместо списка VALUES с целью задания значений для строки (или строк), которая будет добавлена. Эта форма оператора INSERT имеет следующий вид:

INSERT INTO таблица_или_представление [(список_столбцов)] SELECT [(список_столбцов) FROM таблица_или_представление [WHERE (условие)]

Фраза WHERE в операторе является необязательной. Если она отсутствует, в таблицу или представление, заданные в фразе INSERT, будут добавлены все строки из таблицы или представления, заданных в фразе FROM.

Вставьте несколько строк с использованием панели сетки Grid Pane

  1. Перейдите к папке Tables базы данных Aromatherapy, щелкните правой кнопкой мыши на таблице MyOils, откройте Open Table (Открытие таблицы) и выберите Return All Rows (Показать все строки). Будет открыт новый экземпляр конструктора запросов Query Designer.


    увеличить изображение

  2. Не закрывая конструктор запросов Query Designer, откройте новое представление таблицы Oils, щелкнув правой кнопкой мыши на таблице Oils, открыв Open Table (Открытие таблицы) и выбрав Query (Запрос). Будет открыт новый экземпляр конструктора запросов Query Designer.


    увеличить изображение

  3. Скройте панель SQL Pane
    и панель Results Pane.


    увеличить изображение

  4. Щелкните на кнопке Change Query Type (Изменить тип запроса)
    в панели инструментов конструктора запросов и выберите Insert From (Вставить из) в списке. Конструктор запросов Query Designer отобразит диалоговое окно, предлагающее вам выбрать таблицу-адресат.


  5. Выберите MyOils из списка и нажмите ОК. Конструктор запросов Query Designer добавит в панель сетки Grid Pane столбец Append.


    увеличить изображение

  6. Измените запрос, чтобы вставить только столбцы OilName и LatinName.


    увеличить изображение

  7. Добавьте Left(OilName, 6) в качестве вычисляемого столбца в панель сетки Grid Pane, снимите флажок в ячейке вывода Output и установите в ячейке условия Criteria значение <> 'Insert'.


    увеличить изображение

  8. Нажмите кнопку Run (Выполнить)
    в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов Query Designer отобразит сообщение, подтверждающее, что запрос был исполнен.


  9. Нажмите ОК, чтобы закрыть окно сообщения. Перейдите к окну конструктора запросов Query Designer, отображающему все строки в таблице MyOils.
  10. Нажмите кнопку Run (Выполнить)
    в панели инструментов конструктора запросов, чтобы повторно исполнить запрос SELECT *.


    увеличить изображение




  • Нажмите ОК, чтобы закрыть окно сообщения. Перейдите к окну конструктора запросов Query Designer, отображающему все строки в таблице MyOils.
  • Нажмите кнопку Run (Выполнить)
    в панели инструментов конструктора запросов, чтобы повторно исполнить запрос SELECT *.


    увеличить изображение



  • Вставьте несколько строк с использованием панели SQL Pane

    1. Перейдите к окну конструктора запросов Query Designer, содержащему оператор INSERT.
    2. Скройте панель диаграмм Diagram Pane
      и панель сетки Grid Pane
      и отобразите панель SQL Pane.



      увеличить изображение

    3. Замените оператор SQL на следующий: INSERT INTO MyOils (OilName, LatinName) SELECT OilName, LatinName FROM Oils WHERE (LEFT(OilName, 6) = 'Insert')


      увеличить изображение



    Примечание. Единственное изменение здесь затрагивает только оператор WHERE.

    1. Нажмите кнопку Run (Выполнить)
      в панели инструментов конструктора запросов, чтобы исполнить запрос. Enterprise Manager отобразит сообщение, подтверждающее, что запрос был исполнен.



    2. Нажмите ОК, чтобы закрыть окно сообщения. Перейдите к окну конструктора запросов Query Designer, отображающему все строки таблицы MyOils.
    3. Нажмите кнопку Run (Выполнить)
      в панели инструментов конструктора запросов, чтобы повторно исполнить запрос SELECT *. Осуществите прокрутку до конца таблицы, чтобы убедиться, что новые строки были добавлены.


      увеличить изображение

    4. Закройте оба окна конструктора запросов Query Designer.



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