SQL Server 2005 UDF, чтобы сделать таблицу данных данных о собственном виде данных
-
30-09-2019 - |
Вопрос
У меня есть типичная самосверенная таблица сотрудников.
Как вы можете создать UDF, чтобы вернуть тип данных таблицы, который можно использовать в других вопросах, чтобы присоединиться к такому, что я передаю UDF A id
пользователя в таблице и получить результат этого пользователя id
и все пользователи связаны с ним через managerId
?
Стол у меня есть EmployeeId, ManagerID, Name
....
Все, что мне нужно, это пройти EmployeeId
и получить рекурсивный результат всех записей, которые ManagerID
Является ли идентификатор пропущенного в параметрах, и любая из записей, которые имеют в качестве менеджеров, и так далее ...
Спасибо
Решение
CREATE FUNCTION GetEmployees
(
@EmployeeId int
)
RETURNS TABLE
AS
RETURN
(
WITH yourcte AS
(
SELECT EmployeeId, ManagerID, Name
FROM Employees
WHERE EmployeeId = @EmployeeId
UNION ALL
SELECT e.EmployeeId, e.ManagerID, e.Name
FROM Employees e
JOIN yourcte y ON e.ManagerID = y.EmployeeId
)
SELECT EmployeeId, ManagerID, Name
FROM yourcte
)
Не связан с StackOverflow