- Последние обновления для Microsoft SQL Server Latest updates for Microsoft SQL Server
- Последние обновления Latest updates
- Инструкция UPDATE в T-SQL — обновление данных в Microsoft SQL Server
- Как обновить данные в таблицах Microsoft SQL Server?
- Описание инструкции UPDATE в T-SQL
- Упрощенный синтаксис UPDATE
- Примеры использования инструкции UPDATE
- Исходные данные для примеров
- Пример обновления одного столбца всех строк таблицы
- Пример обновления двух столбцов и только некоторых строк таблицы
- Пример использования выражений в инструкции UPDATE
- Пример обновления данных таблицы на основе данных другой таблицы
- Пример обновления данных с использованием подзапроса
- Видео-инструкция по обновлению данных в Microsoft SQL Server
Последние обновления для Microsoft SQL Server Latest updates for Microsoft SQL Server
Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)
В этой статье перечислены последние обновления для продуктов SQL Server. This article lists the latest updates for SQL Server products. Чтобы получить сведения об обновлениях и инструкции для их скачивания, ознакомьтесь с записями блога о выпуске SQL Server. Follow the SQL Server Release Blog to receive information about updates and to download the updates.
Дополнительные сведения о поддерживаемых продуктах см. на странице Политика жизненного цикла поддержки Майкрософт. For more information about which products are supported please consult the Microsoft Product Lifecycle Page.
Последние обновления Latest updates
Каждая из приведенных ниже ссылок содержит сведения для всех применимых продуктов и технологий. Each of the following links provides information for all of the applicable products and technologies.
Версии продукта Product Versions | Последний пакет обновления Latest Service Pack | Последний выпуск для общего распространения (GDR) Latest GDR | Последнее накопительное обновление Latest cumulative update | Дата выпуска накопительного обновления (CU) CU Release Date | Общие рекомендации General Guidance |
---|---|---|---|---|---|
SQL Server 2019 SQL Server 2019 | Недоступно N/A | Статья базы знаний 4583458 KB 4583458 | CU 10 (статья базы знаний 5001090) CU 10 (KB 5001090) | 06.04.2021 4/6/2021 | Установка SQL Server 2019 SQL Server 2019 Installation |
SQL Server 2017 SQL Server 2017 | Недоступно N/A | Статья базы знаний 4583456 KB 4583456 | CU 23 (статья базы знаний 5000685) CU 23 (KB 5000685) | 24.02.2021 2/24/2021 | Установка SQL Server 2017 SQL Server 2017 Installation |
SQL Server 2016 SQL Server 2016 | Пакет обновления 2 (статья базы знаний 4052908) SP2 (KB 4052908) | Статья базы знаний 4583460 KB 4583460 | CU 17 (статья базы знаний 5001092) CU 17 (KB 5001092) | 29.03.2021 3/29/2021 | Установка SQL Server 2016 SQL Server 2016 Installation |
SQL Server 2016 SQL Server 2016 | Пакет обновления 1 (статья базы знаний 3182545) SP1 (KB 3182545) | Статья базы знаний 4505219 KB 4505219 | CU 15 + GDR (статья базы знаний 4505221) CU 15 + GDR (KB 4505221) | 09.07.2019 7/9/2019 | Установка SQL Server 2016 SQL Server 2016 Installation |
SQL Server 2016 SQL Server 2016 | Недоступно N/A | Статья базы знаний 4058560 KB4058560 | CU 9 (статья базы знаний 4058559) CU 9 (KB 4058559) | 22.11.2017 11/22/2017 | Установка SQL Server 2016 SQL Server 2016 Installation |
SQL Server 2014 SQL Server 2014 | Пакет обновления 3 (статья базы знаний 4022619) SP3 (KB 4022619) | Статья базы знаний 4583463 KB 4583463 | CU 4 (статья базы знаний 4583462) CU 4 (KB 4583462) | 12.01.2021 1/12/2021 | Установка SQL Server 2014 SQL Server 2014 Installation |
SQL Server 2014 SQL Server 2014 | Пакет обновления 2 (статья базы знаний 3171021) SP2 (KB 3171021) | Статья базы знаний 4505217 KB 4505217 | CU 18 (статья базы знаний 4500180) CU 18 (KB 4500180) | 29.07.2019 7/29/2019 | Установка SQL Server 2014 SQL Server 2014 Installation |
SQL Server 2014 SQL Server 2014 | Пакет обновления 1 (статья базы знаний 3058865) SP1 (KB 3058865) | Статья базы знаний 4032542 KB 4032542 | CU 13 (статья базы знаний 4019099) CU 13 (KB 4019099) | 08.08.2017 8/8/2017 | Установка SQL Server 2014 SQL Server 2014 Installation |
SQL Server 2014 SQL Server 2014 | Недоступно N/A | MS 15-058 MS 15-058 | CU 14 (статья базы знаний 3158271) CU 14 (KB 3158271) | 20.06.2016 6/20/2016 | Установка SQL Server 2014 SQL Server 2014 Installation |
SQL Server 2012 SQL Server 2012 | Пакет обновления 4 (статья базы знаний 4018073) SP4 (KB 4018073) | Статья базы знаний 4583465 KB 4583465 | Недоступно N/A | Недоступно N/A | Установка SQL Server 2012 SQL Server 2012 Installation |
SQL Server 2012 SQL Server 2012 | Пакет обновления 3 (статья базы знаний 3072779) SP3 (KB 3072779) | Статья базы знаний 4057115 KB 4057115 | CU 10 (статья базы знаний 4057121) CU 10 (KB 4057121) | 08.08.2017 8/8/2017 | Установка SQL Server 2012 SQL Server 2012 Installation |
SQL Server 2012 SQL Server 2012 | Пакет обновления 2 (статья базы знаний 2958429) SP2 (KB 2958429) | MS 16-136 MS 16-136 | CU 16 (статья базы знаний 3205054) CU 16 (KB 3205054) | 18.01.2017 1/18/2017 | Установка SQL Server 2012 SQL Server 2012 Installation |
SQL Server 2012 SQL Server 2012 | Пакет обновления 1 (статья базы знаний 2674319) SP1 (KB 2674319) | MS 15-058 MS 15-058 | CU 16 (статья базы знаний 3052476) CU 16 (KB 3052476) | 18.05.2015 5/18/2015 | Установка SQL Server 2012 SQL Server 2012 Installation |
SQL Server 2008 R2 SQL Server 2008 R2 | Пакет обновления 3 (статья базы знаний 2979597) SP3 (KB 2979597) | Статья базы знаний 4057113 KB 4057113 | Недоступно N/A | Недоступно N/A | Установка SQL Server 2008 R2 с пакетом обновления 3 SQL Server 2008 R2 SP3 Installation |
SQL Server 2008 R2 SQL Server 2008 R2 | Пакет обновления 2 (статья базы знаний 2630458) SP2 (KB 2630458) | MS 15-058 MS 15-058 | CU 13 (статья базы знаний 2967540) CU 13 (KB 2967540) | 30.06.2014 6/30/2014 | Установка SQL Server 2008 R2 с пакетом обновления 2 SQL Server 2008 R2 SP2 Installation |
SQL Server 2008 SQL Server 2008 | Пакет обновления 4 (статья базы знаний 2979596) SP4 (KB 2979596) | 4057114 4057114 | Недоступно N/A | Недоступно N/A | Обслуживание SQL Server 2008 SQL Server 2008 Servicing |
SQL Server 2008 SQL Server 2008 | Пакет обновления 3 (статья базы знаний 2546951) SP3 (KB 2546951) | MS 15-058 MS 15-058 | CU 17 (статья базы знаний 2958696) CU 17 (KB 2958696) | 19.05.2014 5/19/2014 | Обслуживание SQL Server 2008 SQL Server 2008 Servicing |
Узнайте, как проверять обновления: Testing and Developing Supportability Roadmaps for ISV Applications (Проверка и разработка схем действий по поддержке для приложений ISV (PDF)). Learn how to test updates: Testing and Developing Supportability Roadmaps for ISV Applications (PDF)
Инструкция UPDATE в T-SQL — обновление данных в Microsoft SQL Server
Всем привет! Сегодня в материале я расскажу о том, как происходит обновление данных в Microsoft SQL Server с использованием языка T-SQL, будет рассмотрена инструкция UPDATE. Иными словами, Вы узнаете, как изменить уже существующие данные в таблицах на SQL Server.
Ранее я уже рассказывал о том, как создаются таблицы, как они изменяются, как происходит добавление данных в эти таблицы, поэтому пришло время рассказать о том, как происходит изменение (обновление) существующих данных.
Заметка!
Упомянутые выше материалы:
Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.
Как обновить данные в таблицах Microsoft SQL Server?
Изменить данные в таблицах Microsoft SQL Server можно с помощью:
Однако в реальности обновление данных происходит только с использование инструкции UPDATE, так как использовать конструктор SSMS для каких-то массовых изменений невозможно, даже процесс обновления одного значения крайне неудобен. Поэтому я не использую конструктор, мне кажется, его мало кто использует.
Поэтому сегодня мы подробно поговорим об инструкции UPDATE.
Описание инструкции UPDATE в T-SQL
UPDATE – инструкция SQL, с помощью которой происходит изменение существующих данных в таблицах.
Важные моменты:
- Если инструкция UPDATE, т.е. обновление строк, нарушает какое-нибудь ограничение или правило, или новое значение имеет несовместимый тип данных (хотя бы для одной строки), то возникнет ошибка и все изменения отменяются, никакие строки не обновляются;
- По умолчанию инструкция UPDATE получает монопольную блокировку на целевую таблицу, которую она изменяет, это означает, что пока одна инструкция UPDATE выполняется, т.е. изменяет данные в таблице, другие инструкции не могут изменять данные в этой таблице;
- Чтобы использовать инструкцию UPDATE, нужны соответствующие разрешения на изменение данных, а также на чтение данных, если инструкция содержит условие WHERE;
- Если Вам нужно узнать количество строк, которые Вы обновили инструкцией UPDATE, например, для возврата в клиентское приложение или для любых других целей, то для этого Вы можете использовать функцию @@ROWCOUNT.
Упрощенный синтаксис UPDATE
Синтаксис UPDATE достаточно большой, и начинающим понять его сложно, поэтому, для того чтобы было проще понять логику формирования инструкции UPDATE, я приведу упрощенный синтаксис.
UPDATE Целевая таблица SET Имя столбца = Значение
FROM Таблица источник
- UPDATE – инструкция обновления;
- Целевая таблица – таблица, данные в которой необходимо изменить;
- SET – команда, которая задает список обновляемых столбцов. Каждый следующий столбец указывается через запятую;
- Имя столбца – столбец, в котором расположены данные, которые необходимо изменить;
- Значение – новое значение, на которое необходимо изменить значение столбца. Можно указывать как конкретное значение, так и расчётное выражение, функцию или подзапрос. Также можно указать ключевое слово DEFAULT, что будет означать, что столбцу необходимо присвоить значение по умолчанию;
- FROM – секция, которая указывает таблицу, из которой необходимо взять новое значение столбца. Секция может содержать объединение JOIN;
- Таблица источник – таблица, в которой расположено новое значение столбца;
- WHERE – условие отбора строк, подлежащих обновлению.
Примеры использования инструкции UPDATE
Сейчас давайте рассмотрим несколько примеров SQL инструкций, которые будут обновлять данные в таблице инструкцией UPDATE.
Исходные данные для примеров
Для начала давайте определимся с исходными данными, чтобы Вы понимали, какие именно данные у нас есть, и что мы будем обновлять.
Также сразу скажу, что в качестве SQL сервера у меня выступает версия Microsoft SQL Server 2017 Express.
Следующая инструкция создает таблицы, которые мы будет использовать в примерах, и добавляет в них данные.
Пример обновления одного столбца всех строк таблицы
В этом примере мы обновим значения одного столбца, при этом никаких условий мы делать не будем, т.е. обновим все строки в таблице.
Для наглядности и удобства отслеживания внесенных изменений я буду во всех примерах перед и после UPDATE посылать простой запрос SELECT, чтобы видеть, какие данные были и какие стали.
Как видите, в итоге получился очень простой запрос на обновление, мы обновили значения в столбце ProductDescription у всех строк на «Товар».
Пример обновления двух столбцов и только некоторых строк таблицы
Теперь давайте обновим два столбца, и конкретизируем строки для обновления, т.е. мы обновим не все строки в таблице, как в предыдущем примере, а только те, которые подходят под указанное нами условие (для примера Category с идентификатором 1).
В этом случае изменились значения столбцов ProductDescription и Price в строках, в которых Category = 1.
Пример использования выражений в инструкции UPDATE
Как я уже отмечал, в качестве нового значения может выступать не только какое-то конкретное значение, но и целое выражение, в котором могут использоваться как другие столбцы таблицы, так и столбец, который в данный момент обновляется.
В следующем примере в столбец ProductDescription мы добавим дополнительный текст (просто цифру 3), а значение Price мы увеличим в полтора раза. Все это мы сделаем для строки с Category = 2.
Пример обновления данных таблицы на основе данных другой таблицы
Достаточно часто требуется обновить данные одной таблицы на основе данных другой, например, просто скопировать данные. Это можно сделать за счет объединения нужных таблиц в инструкции UPDATE. При этом существует несколько способов объединения, я покажу два.
Для примера здесь мы скопируем название категорий из таблицы Categories, и вставим их в столбец ProductDescription таблицы Goods, объединять будем по идентификатору категории.
Пример обновления данных с использованием подзапроса
В этом примере я покажу, как можно использовать подзапрос в инструкции UPDATE. Для примера мы подсчитаем количество товаров в каждой категории и присвоим полученное значение столбцу ProductDescription.
Для того чтобы узнать количество товаров, мы будем использовать встроенную функцию COUNT, а для преобразования числа в строку — функцию CAST. Фильтровать строки в подзапросе мы будем по идентификатору категории, значение для сравнения будем получать из основного запроса.
Как видите, все отработало так, как мы задумали.
Видео-инструкция по обновлению данных в Microsoft SQL Server
У меня на этом все, надеюсь, материал был Вам полезен, пока!