Vấn đề là bạn không thể gọi một hàm không xác định từ bên trong một hàm do người dùng xác định.
Tôi đã khắc phục hạn chế này bằng cách tạo một dạng xem, gọi hàm đó bên trong dạng xem và sử dụng dạng xem đó bên trong hàm của bạn, một cái gì đó như thế này ......
Xem định nghĩa
CREATE VIEW vw_getRANDValue
AS
SELECT RAND() AS Value
Định nghĩa hàm
ALTER FUNCTION getNumber(@_id int )
RETURNS DECIMAL(18,4)
AS
BEGIN
DECLARE @RtnValue DECIMAL(18,4);
SELECT TOP 1 @RtnValue = EmployeeID
FROM dbo.Employees
ORDER BY EmployeeID DESC
SET @RtnValue = (SELECT Value FROM vw_getRANDValue) * @RtnValue * (1.0000/100.0000) --<-- to make sure its not converted to int
RETURN @RtnValue;
END