Sigo recibiendo este error: ¿Alguna idea?creando la función usando newID()
Invalid use of side-effecting or time-dependent operator in 'newid' within a function.
Estoy trabajando con MS-SQL Server 2005
. Aquí está la declaración T-SQL
:
Create Function [dbo].[GetNewNumber]()
RETURNS int
AS
BEGIN
Declare @code int
set @code = (SELECT CAST(CAST(newid() AS binary(3)) AS int))
RETURN (@code)
END
Debería preocuparme por el mismo número que se generan dos o ¿Son esas posibilidades astronómicas? –
No son en absoluto los reinos de la posibilidad, solo un máximo de 100 millones de números disponibles, hechos por casualidad puramente aleatoria. Según la teoría del problema del cumpleaños, tus posibilidades de un encuentro llegarán antes de lo esperado. – Andrew
+1, buena solución. Aunque puede ser una codificación defensiva, el 'top 1' parece innecesario en este caso y es muy ligeramente más lento que sin él. –