Poţi să pui apelul funcţiei NEWID() într-un view, iar în funcţie să referi view-ul respectiv, de exemplu:
USE Northwind
GO
CREATE VIEW RandomOrders
AS
SELECT OrderID, EmployeeID, NEWID() as RandomID FROM Orders
GO
CREATE FUNCTION GetRandomOrder(@EmployeeID int)
RETURNS INT AS BEGIN
RETURN (SELECT TOP 1 OrderID FROM RandomOrders WHERE EmployeeID=@EmployeeID ORDER BY RandomID)
END
GO
SELECT dbo.GetRandomOrder(1)
SELECT dbo.GetRandomOrder(1)
SELECT dbo.GetRandomOrder(1)
Răzvan