Some time back i had the requirement for a SP which will give non repeatable random numbers with in a range.
Following SP accepts a range and gives the random numbers. Once the numbers are exhausetd NULL, will be the out put. In this case user can restart the random number generation by passing 1 as the third parameter.
DECLARE @from int
,@restart int -- (0 or 1)
SELECT @from=10, @to=15
EXECUTE non_repeat_rand @from,@to
EXECUTE non_repeat_rand 10,15,1