Función Factorial en SQL Server (recursiva)

El día de hoy respondí una pregunta en stackoverflow a cerca de la función factorial en TSQL, en realidad la pregunta era con respecto de un error con la sentencia IF en SQL Server.

Les dejo el código producido ya que es pequeño y eficiente, además es una buena muestra de cómo manejar funciones recursivas dentro de SQL Server.

create function factfind(@num integer) 
 returns Decimal(38,0) 
as 
begin 
 declare @Result Decimal(38,0) 
 set @Result = 1 
 if (@num>1) 
 set @Result = @num * dbo.factfind(@num-1); 
 return @Result 
end 

Parte de las consideraciones que hay que tener para poder realizar la recursión en SQL Server es que las funciones deben cualificarse con el esquema al que pertenecen, de allí la llamada a dbo.factfind

La función retorna un Decimal(38,0) ya que los resultados no pueden ser contenidos en un entero a partir de 13!

Anuncios

Agradable sorpresa con Firefox 3.0.6

Que agradable fué mi sorpresa el día de hoy al abrir el administrador de tareas de windows y ver que Firefox no estaba ocupando los 450 Mb. acostumbrados.  Algunas personas dicen que eso se debe a que mantengo abiertas muchas pestañas (alrededor de 40 la mayor parte del tiempo).

Sin embargo luego de instalar la actualización de firefox 3.0.6 el navegador ocupó tan solo 185 Mb. de memoria RAM y eso que hoy es un día algo atipico y tengo cargadas alrededor de 55 pestañas en el momento que escribo ésto.

Dejo una imágen de mi administrador de tareas de la pura emoción que siento.

Administrador de tareas

Saludos

Mario Antonio Castillo

A %d blogueros les gusta esto: