Новость из категории: Информация

SQL Server: запрос функции T-SQL

Содержание:
1. Часть I (Вы читаете данный раздел);
2. Часть II ;
3. Часть III.
SQL Server: запрос функции T-SQL

С помощью оконных функций можно изящно и эффективно решать многие задачи Т-SQL, связанные с обработкой запросов. И все же в версии SQL Server 2017 остаются задачи, для которых трудно найти решение на основе набора, но зато их можно обработать, если дополнить Т-SQL поддержкой для оконного оператора с именем RESET WH EN. Этот оператор осуществляет пересоздание оконного раздела, когда выполняется определенное условие — возможно, на основе оконной функции. Это нестандартная функция, но сейчас она поддерживается компанией Teradata. Хочу выразить благодарность Алехандро Месе (обладателю статуса Microsoft Data Platform MVP), познакомившему меня с этой функцией.

В данной статье я представлю две классические задачи обработки запросов Т-SQL, опишу решения, используемые в настоящее время, и объясню, как применить усовершенствованные решения с использованием оператора RESET WHEN. Надеюсь, дочитав статью до конца, вы поймете, насколько важна эта функция, и проголосуете за нее на сайте Microsoft Connect (https://connect.microsoft.com/SQLServer/feedback/details/2748755).

SQL Server: запрос функции T-SQL

Убавление величины

Начнем с задачи, связанной с вычислением нарастающих итогов, которые нужно убавить, когда выполняется определенное условие. Джери Решеф, обладатель статуса Microsoft Data Platform MVP, представил исходную задачу, а затем Шарон Ример из компании Naya Technologies предложил вариант этой задачи.

Среди тестовых данных для рассматриваемой задачи — таблица с именем Transactions, которую вы создаете и заполняете с помощью программного кода, представленного ниже.

SQL Server: запрос функции T-SQL
Создание и заполнение таблицы Transactions

Транзакции добавляют величины некоторого элемента в контейнер на основе упорядочения по столбцу txid. Если кумулятивная величина превышает емкость контейнера (представленного как вход), то контейнер должен быть убавлен. Ваше решение должно показать состояние контейнера (общую величину) после каждой транзакции: 0 это общая величина после убавления, а также величина убавления, когда это применимо. На экране ниже приведен желаемый результат для тестовых данных и емкости входного контейнера, равной 5.

SQL Server: запрос функции T-SQL
Желаемый результат для тестовых данных и емкости входного контейнера, равной 5


Погрузитесь в изучение запроса функции T-SQL в SQL Server, но только после того, как выберете подарок для своей второй половинки? В этом случае рекомендую вам подобрать здесь роскошную шубку из натурального меха. Поверьте, такой подарок не оставит равнодушной ни одну женщину и оставит воспоминание о себе на долгие годы.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Перевести статью:

Похожие новости

Комментарии

Информация

^ Наверх