Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

Как вычислить факториал (5!) на языке SQL(FB1.5)???   Найти похожие ветки 

 
VadimKV   (2004-09-08 10:39) [0]

Как вычислить факториал (5!) на находу (Select) c помощью SQL(FB1.5)???


 
Ega23 ©   (2004-09-08 10:45) [1]

Гы, с помощью двух goto  :о)


 
Rem   (2004-09-08 10:46) [2]

2*3*4*5


 
Ega23 ©   (2004-09-08 10:47) [3]

А вообще - while


 
VadimKV   (2004-09-08 10:51) [4]

Ega23 предлагаешь спомощью Хранимой процедуры, если нет то поподробней пожалуйста.


 
Digitman ©   (2004-09-08 10:54) [5]


> VadimKV   (08.09.04 10:51) [4]


а чем тебя смущает хранимая процедура ?
для небольших N это вполне эффективно
для больших N лучше реализовать UDF, в которой факториал будет вычисляться, и получать вычисленное значение простейшим запросом

select Factorial(5) from RDB$DATABASE


 
Ega23 ©   (2004-09-08 10:54) [6]

Я не знаком с диалектом Interbase. Для MS SQL - пожалуйста:

Declare @X int, @Cnt int

Set NoCount On

Set @X=1
Set @Cnt=1

While (@Cnt<=5)
begin
 Select @X=@X*@Cnt
 Select @Cnt=@Cnt+1
end

Set NoCount OFF

Select Result=@X


Можно и классическим способом, через рекурсию. Но это уже действительно ХП должна быть.


 
VadimKV   (2004-09-08 11:03) [7]

Digitman, а готывая UDF функция есть или ты предлагаешь мне её саму написать. Если есть поделитесь. UDF Я сам не разу не писал.


 
Digitman ©   (2004-09-08 12:43) [8]


> готывая UDF функция есть


скорей всего есть , я не в курсе

посмотри на ibase.ru


 
DSKalugin ©   (2004-09-08 13:52) [9]

Есть готовая UDF в udflib на www.mers.com но только для Linux

DECLARE EXTERNAL FUNCTION FACT
   DOUBLE PRECISION
RETURNS DOUBLE PRECISION
ENTRY_POINT "fn_fact" MODULE_NAME "udflib"

http://www.mers.com/Udf00035.htm


 
Fay ©   (2004-09-08 14:28) [10]

Вычисление факториала через рекурсию - это не классика. Это извращение.



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
6-1088974260
Квэнди
2004-07-05 00:51
2004.10.03
Копирование файлов


14-1094969131
Knight
2004-09-12 10:05
2004.10.03
Добро возвращается Злом трижды...


14-1095432557
menart
2004-09-17 18:49
2004.10.03
Не знаю что это шутка или правда?


1-1095321764
~Shaman~
2004-09-16 12:02
2004.10.03
массив


14-1095427943
peypivo
2004-09-17 17:32
2004.10.03
Что лучше 1с или Парус ?