Create Table Employees
(
Employee varchar(10),
Manager varchar(10)
);
Insert into Employees
values
('Charlie',null),
('Peter','James'),
('Elai',null),
('Graham','Emanuel'),
('Amanda','Charlie'),
('Sen','Graham'),
('Emanuel',null),
('James','Amanda'),
('Elai',null),
('Victor','Elai');
위의 "직원"테이블에는 직원 및 관리자의 관리자 이름이 포함되어 있습니다. 아래 함수를 사용하여 직원의 쉼표로 구분 된 계층 구조를 검색하려고하면 결과는 항상 null입니다. 예SQL 재귀 udf는 항상 null을 반환합니다.
:
'Victor'
직원, 계층/"Victor, Elai"
결과이어야한다.
아무도 내가 UDF 아래에서 잘못하고 있다고 지적 할 수 있습니까? & 가장 중요한
Create Function EmployeeHierarchy(@employeeName varchar(20))
Returns varchar(100)
AS
Begin
Declare @commaSeparatedHierarchy varchar(100);
Declare @manager varchar(20);
if(@employeeName is not null)
Begin
Select @manager=Manager from Employees where [email protected];
Set @commaSeparatedHierarchy=dbo.EmployeeHierarchy(@manager)+','[email protected];
End
return @commaSeparatedHierarchy;
End;
더하기 1 – TheGameiswar