Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Рекомендации по созданию и использованию рекурсивных ОТВ



· Определение рекурсивного ОТВ должно содержать по крайней мере два запроса: первый запрос называется закрепленным элементом, а второй запрос называется рекурсивным элементом. Могут быть определены несколько закрепленных элементов и несколько рекурсивных элементов, однако все закрепленные элементы должны быть поставлены перед первым рекурсивным элементом. Все запросы в определении ОТВ являются закрепленными элементами, если только они не ссылаются на само ОТВ.

· Закрепленные элементы должны объединяться одним из следующих операторов работы с наборами: 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...