Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/04/2006, 20:29
Avatar de RootK
RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
De hecho no puedes pasar directamente un rand() dentro de una funcion...pero podemos hacer un pequeño truco..., después de ver tu code hay que hacer una serie de correciones tanto en el código como tipos de datos...,

Prueba de ésta forma: (copia y pega)

crea una vista así:

Cita:
CREATE VIEW vRandom
AS
SELECT RAND() as numero
Despues coloca éste código para tu funcion..:

Cita:
CREATE Function Password_Cod()
RETURNS nvarchar(50)
AS
BEGIN
DECLARE @Password_Cod nvarchar(8), @Nu int, @les nvarchar(50),
@Le nchar(1),@I int

Set @les = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvWwXxYyZ z'
DECLARE @random FLOAT
SET @I = 1
SET @Password_Cod = ''
WHILE @I <= 8
BEGIN
SET @random = (SELECT numero FROM vRandom)
SET Select @Nu = cast(( (50) * @random + 1) as int)
SET @Le = substring(@les, @Nu, 1)
SET @Password_Cod = @Password_Cod + @Le
SET @i = @i + 1
END

RETURN @Password_Cod
End

Espero que te sirva..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net