Продолжается подписка на наши издания! Вы не забыли подписаться?

SQL Server "Yukon" Beta 1 – изменения в Transact-SQL**

Автор: Ицик Бен-Ган

Введение

Этот документ содержит описание нескольких изменений Transact-SQL в Microsoft SQL Server "Yukon" Beta 1. Новые возможности увеличивают мощь языка, производительность запросов и возможности обработки ошибок. В основном здесь пойдет речь о концептуально новых реляционных улучшениях; будут продемонстрированы примеры применения новых возможностей. Разумеется, здесь рассматриваются не все изменения Transact-SQL.

Рекурсивные запросы и Общие табличные выражения (Common Table Expressions, СТЕ)

Общие табличные выражения

Общие табличные выражения (common table expression, CTE) – это временно именованные наборы данных, на которые можно ссылаться с помощью определяющих выражений. В самой простой форме CTE можно рассматривать как улучшенную версию производных таблиц (derived tables), которая больше похожа на несохраняющийся тип представлений (view). На СТЕ можно ссылаться в запросе из оператора FROM так же, как на производные таблицы и представления. CTE определяется один раз, и может многократно использоваться в запросах. В определении CTE можно ссылаться на переменные, определенные в том же скрипте. Можно использовать CTE в выражениях INSERT, UPDATE, DELETE и CREATE VIEW примерно так же, как и представления. Истинная сила CTE – в рекурсивности, то есть в том, что CTE может содержать ссылки на себя. Здесь сперва будет приведен простой пример CTE, а затем – пример рекурсивного использования.

Производные таблицы используются, если нужно использовать результаты запроса в качестве таблицы, но не хочется создавать постоянно хранящееся в БД представление. Однако у них есть ограничения, которых лишены CTE: один раз определенную производную таблицу нельзя использовать многократно. Для этого нужно определять несколько производных таблиц в одном запросе. Теперь же можно один раз определить CTE и использовать в запросе несколько раз, не сохраняя в БД.

<...>

 
Прочитать статью полностью вы можете в печатной версии журнала

Copyright © 1994-2016 ООО "К-Пресс"