Şöyle bir stored procedurüm var.
ALTER PROCEDURE [dbo].[SP_HR_RPR_Performance]
@EMPL_Id int
AS
WITH n(EMPL_Id, EMPL_Adnisitrator) AS
(SELECT EMPL_Id, EMPL_Administrator
FROM HR_Employee
WHERE EMPL_Id = @EMPL_Id
UNION ALL
SELECT nplus1.EMPL_Id, nplus1.EMPL_Administrator
FROM HR_Employee as nplus1, n
WHERE n.EMPL_Id = nplus1.EMPL_Administrator)
SELECT
[EMPL_PersonId]
,[PERS_Name]
,[PERS_Surname]
,[DEPT_Name]
,[TITLE_String]
,[PERF_Year]
,[PERF_Score] from HR_RPR_Performance where EMPL_Id in (SELECT EMPL_Id FROM n)
Sorgunun rekürsif bir yapısı var, employee tablosunda admin'e göre hiyerarşiyi dökmek için. Bu bir parametre olarak id si verilen kişinin, altında çalışanların performans raporlarını veriyor.
Ben program içerisinde bir view'ı kullanarak where den sonra gelen kısıtları dinamik olarak oluşturup excel dosyalarına rapor atıyorum. Aynı şekilde stored procedureninde sonucunu manipüle etmek istiyorum.
Bunu nasıl yapabilirin? Function kullansam olurmu?
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|