Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
· Определение рекурсивного ОТВ должно содержать по крайней мере два запроса: первый запрос называется закрепленным элементом, а второй запрос называется рекурсивным элементом. Могут быть определены несколько закрепленных элементов и несколько рекурсивных элементов, однако все закрепленные элементы должны быть поставлены перед первым рекурсивным элементом. Все запросы в определении ОТВ являются закрепленными элементами, если только они не ссылаются на само ОТВ.
· Закрепленные элементы должны объединяться одним из следующих операторов работы с наборами: UNION ALL, UNION, INTERSECT или EXCEPT. UNION ALL является единственным оператором, который может находиться между последним закрепленным элементом и первым рекурсивным элементом, а также при объединении нескольких рекурсивных элементов.
· Типы и количество столбцов закрепленных и рекурсивных элементов должны совпадать.
· Предложение FROM рекурсивного элемента должно ссылаться на ОТВ только один раз.
· Следующие элементы недопустимы в определении рекурсивного элемента:
1. SELECT DISTINCT
2. GROUP BY
3. HAVING
4. Скалярный агрегат
5. TOP
6. LEFT, RIGHT, OUTER JOIN (INNER JOIN допускается)
7. Вложенные запросы
8. Подсказка, применимая к рекурсивной ссылке на ОТВ в определении ОТВ
· Все столбцы, возвращаемые рекурсивным ОТВ, могут содержать значения NULL, независимо от того, могут ли иметь значения NULL столбцы, возвращаемые участвующими инструкциями SELECT.
· Неправильно составленное рекурсивное ОТВ может привести к бесконечному циклу. Для предотвращения бесконечного цикла можно ограничить количество уровней рекурсии, допустимых для определенной инструкции, с помощью подсказки MAXRECURSION и значения в диапазоне от 0 до 32 767 в предложении OPTION инструкции INSERT, UPDATE, MERGE, DELETE или SELECT. Серверное значение по умолчанию равно 100. Если указано значение 0, ограничения не применяются. В одной инструкции может быть указано только одно значение MAXRECURSION.
· Представление, содержащее рекурсивное ОТВ, не может использоваться для обновления данных.
· Курсоры могут определяться на запросах при помощи ОТВ. Для рекурсивных ОТВ допустимы только однонаправленные и статические курсоры (курсоры моментального снимка). Если в рекурсивном ОТВ указан курсор другого типа, тип курсора преобразуется в статический.
Дата публикования: 2015-02-03; Прочитано: 204 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!