در این حالت می تونید یک TVF ایجاد کنید
بنده هیچ اطلاعاتی در مورد TVF ندارم ! لطفاً بیشتر توضیح دهید و نحوه استفادشو بفرمایید .
در ضمن بنده با کلی کلنجار رفتن با SQL ، تابع زیر را نوشتم که فعلاً به نظر من کار مورد نظر را انجام میدهد ! تا نظر اساتید چی باشه ؟؟؟
Create FUNCTION ReadAllChilds
(
@Sid int
)
RETURNS @Ret TABLE
(
Depth int primary key IDENTITY(1,1),
Sid int NOT NULL,
Sname nvarchar(50)
)
as
begin
WITH cte AS
(SELECT SID, SPID ,SName
FROM Structure
WHERE SID = @Sid
UNION ALL
SELECT SID, SPID ,SName
FROM Structure
WHERE SPID = @Sid
UNION ALL
SELECT t.SID, t.SPID, t.SName
FROM cte
JOIN Structure t
ON t.SPID = cte.SID)
INSERT INTO @Ret ([sid], [SName])
SELECT distinct [sid],[SName] FROM CTE;
return;
end