0
返回值的UDF
我得到這個錯誤,不知道該怎麼做。 另外,如何根據參數@empId返回當前工資。舉例來說,如果我叫喜歡dbo.getBonus功能(3)它應該返回:5600.000創建一個基於參數
下面是創建表時我運行查詢:
EmpId Bonus
3 5600.000
4 18500.000
5 15600.000
6 7600.000
錯誤消息:
消息444,級別16,狀態2,過程getBonus,行188 選擇包含在函數中的語句不能將數據返回給客戶機。
謝謝。
CREATE FUNCTION dbo.getBonus(@empId INT)
RETURNS numeric(10,2)
AS
BEGIN
SELECT C.[Emp Id],
(Salary.Emp_Salary * .1) AS 'Bonus'
FROM
(
SELECT
e.Emp_Id AS "Emp Id",
MAX(Emp_Salary_Change_Year) AS "Change Year"
FROM Employee_Details AS e
INNER JOIN Country AS co ON e.Emp_Country_Id = co.Country_Id
INNER JOIN State AS s ON e.Emp_State_Id = s.State_Id
INNER JOIN Designation AS d ON e.Desig_Id = d.Desig_Id
INNER JOIN Salary AS sa ON e.Emp_Id = sa.Emp_Id
GROUP BY e.Emp_Id) AS C
INNER JOIN Salary ON C.[Change Year] =
Salary.Emp_Salary_Change_Year;
RETURN 2
END
感謝,但無論我穿什麼ID參數,它總是返回7600.00。 –
只需在函數中添加WHERE子句以根據輸入參數返回輸出 - @empId :) – Nayak
感謝Nayak的工作。解決方案確認 –