Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2374 / 243 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 18:

Модификация строк

< Урок 17 || Урок 18: 12345 || Урок 19 >
Аннотация: Для модификации данных в T-SQL используется инструкция DML UPDATE. Она может модифицировать либо одну строку таблицы, либо заданный набор ее строк. Можно модифицировать данные через представление, основанное на нескольких таблицах. Можно использовать предложения WHERE и FROM в операторе UPDATE. На уроке мы рассмотрим использование Grid Pane и SQL Pane. Также будут представлены примеры сценариев, выполняющие модификацию строк. Рекомендуется использовать справочную систему Books Online, чтобы избежать ошибок в написании сценариев и лучше узнать синтаксис представленных операторов.

Вы научитесь:

  • модифицировать все строки в таблице с использованием панели сетки Grid Pane;
  • модифицировать избранные строки в таблице с использованием панели сетки Grid Pane;
  • модифицировать все строки в таблице с использованием панели SQL Pane;
  • модифицировать избранные строки в таблице с использованием панели SQL Pane;
  • модифицировать строки с помощью оператора FROM.

Понятие об операторе UPDATE

Оператор UPDATE позволяет изменять значения в одной или в нескольких строках таблицы. Базовый синтаксис оператора UPDATE следующий:

UPDATE таблица_или_представление
SET объекты_изменения
[WHERE (условие)]

Подобно оператору INSERT, один оператор UPDATE может модифицировать только одну таблицу или представление. Для обновления представления с помощью оператора UPDATE существуют те же ограничения, что и для обновления представления с помощью оператора INSERT:

  • представление не должно содержать функций агрегирования, таких как COUNT или AVG;
  • представление не должно содержать TOP, GROUP BY, UNION или DISTINCT;
  • представление не должно содержать вычисляемых столбцов;
  • представление должно ссылаться на таблицу, указанную в фразе FROM;
  • оператор UPDATE должен модифицировать столбцы только из одной таблицы.

За ключевым словом SET следует перечень подлежащих обновлению столбцов, отделяемых запятыми, а также их новые значения. Форма записи при этом следующая: имя_столбца = новое_значение. Новое значение может быть константой или выражением, которое также может ссылаться на сам столбец. Например, выражение SalesPrice = SalesPrice * .90 будет уменьшать значения в столбце SalesPrice на 10 процентов.

Фраза WHERE является необязательной. Если она имеется, то должна задавать строки, подлежащие обновлению. Если фраза WHERE в операторе UPDATE отсутствует, будут модифицироваться все строки в таблице.

Использование оператора UPDATE

Как и большинство других форм запросов, вы можете создавать запрос UPDATE в конструкторе запросов Query Designer с использованием панели сетки Grid Pane, либо непосредственно вводя оператор в панели SQL Pane.

Модификация строк с использованием панели сетки Grid Pane

Панель сетки Grid Pane конструктора запросов предоставляет возможности для создания запроса UPDATE.

Модифицируйте все строки с использованием панели сетки Grid Pane

  1. Перейдите к папке Tables базы данных Aromatherapy, щелкните правой кнопкой мыши на таблице MyOils в рабочей панели Details Pane, укажите на Open Table (Открытие таблицы) и выберите Query (Запрос). Будет открыт конструктор запросов Query Designer.
  2. Скройте панель SQL Pane и панель диаграмм Diagram Pane, щелкнув на кнопке SQLи на кнопке Diagram (Диаграмма).
  3. Не закрывая конструктор запросов Query Designer, откройте новое представление таблицы MyOils, щелкнув правой кнопкой мыши на таблице MyOils в рабочей панели Details Pane, указав на Open Table (Открытие таблицы) и выбрав Return All Rows (Показать все строки). Будет открыт новый экземпляр конструктора запросов Query Designer, отображающий все строки из таблицы MyOils.
  4. Перейдите в окно конструктора запросов Query Designer, отображающее панель сетки Grid Pane и панель результатов Results Pane. Щелкните на кнопке Change Query Type (Изменить тип запроса)в панели инструментов конструктора запросов и выберите Update (Модифицировать). Конструктор запросов добавит в сетку столбец нового значения New Value.
  5. Добавьте столбец описания Description в панель сетки Grid Pane и установите на ячейке New Value значение 'Description'.
  6. Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов Query Designer отобразит сообщение, подтверждающее, что строки были модифицированы.

  7. Перейдите к окну конструктора запросов Query Designer, отображающему все строки из таблицы MyOils.
  8. Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы повторно исполнить запрос SELECT *.
< Урок 17 || Урок 18: 12345 || Урок 19 >
Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков