Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Переписать запрос с MSSQL Server2005 на Server2000

11
17 января 2008 года
oxotnik333
2.9K / / 03.08.2007
В MSSQL Server2005 есть рекурсивный запрос (в виде ХП):

Код:
CREATE PROC HierarchyChart (@ID int, @ID_User int)
AS BEGIN

WITH tree(ID_Key, Parent_Index, Item_Level, Item_Name)
AS (SELECT     IDKey, ParentIndex, ItemLevel, ItemName
  FROM         base
  WHERE     IDKey = @ID
  UNION ALL
  SELECT     Base.IDKey, Base.ParentIndex, Base.ItemLevel, Base.ItemName
  FROM         base AS Base INNER JOIN
  tree AS tr ON tr.Parent_Index = Base.IDKey)
    SELECT     tree.Parent_Index,tree.ID_Key, tree.Item_Level, tree.Item_Name, Users.Id, PermissonType.Id AS Per_Id, PermissonType.PermissionType
     FROM         Users INNER JOIN
                            PermissionRecord ON Users.Id = PermissionRecord.Id_User INNER JOIN
                            tree AS tree ON PermissionRecord.Id_Base = tree.ID_Key INNER JOIN
                            PermissonType ON PermissionRecord.Id_PermissionType = PermissonType.Id
    WHERE Users.Id = @ID_User  
END


попробовал вставить его в MS SQL Server 2000 выдает 2 ошибки:
1. Incorrect syntax near the keyword 'WITH'.
2. Incorrect syntax near the keyword 'END'.

Как поправить?
Вообще, в 2000 сервере возможны подобные рекурсии?
412
18 января 2008 года
grgdvo
323 / / 04.07.2007
Добрый день!

Сдается мне, что 2000 версия еще не поддерживала рекурсивные конструкции. Попробуйте почитать вот эту статейку (а также ссылочки, которые приведеные в конце). Рассматриваются некоторые "обходные" варианты написания рекурсивных запросов.

Также воспользуйтесь форумом sql.ru, там эта тема также обсуждалась.

Удачи
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог