SQL Server 2005 UDF pour faire une table de données de type de données de table faisant référence auto
-
30-09-2019 - |
Question
J'ai une table auto-référencement typique des employés.
Comment pouvez-vous construire une UDF pour retourner une table de données de type qui peut être utilisé dans d'autres requêtes à se joindre à ce que je passe l'UDF une id
d'un utilisateur dans la table et obtenir un résultat de id
de cet utilisateur et tous les utilisateurs liés à lui par un managerId
?
Le tableau que j'ai est EmployeeId, ManagerID, Name
....
Tout ce que je besoin est de passer un EmployeeId
et obtenir un résultat récurrent de tous les dossiers qui est ManagerID
est l'id du passé dans param, et l'un des dossiers qui ont ces en tant que gestionnaires, et ainsi de suite ...
Merci
La solution
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
)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow