1

Тема: мінімальний параметр Оракл

Написати функцію, яка повертає мінімальний з трьох параметрів

create or replace function min_parameter(val1 int,val2 int,val3 int) return int  is
begin
if val1<val2 and val1<val3 
then 
return 'min_value= '||to_char(val1);
else if val2<val1 and val2<val3 
then
return 'min_value='||to_char(val2);
else if 'min_value='||to_char(val3)
then
return 'min_value=' ||to_char(val3);
endif;
end;

помилка:

PLS-00103: Encountered the symbol ";" when expecting one of the following:     if 
Errors: check compiler log

2

Re: мінімальний параметр Оракл

Мабуть оце:

endif;
end if;
Посилання на англомовний ресурс

3

Re: мінімальний параметр Оракл

create or replace function min_parameter(val1 int,val2 int,val3 int) return int  is
begin
if val1<val2 and val1<val3 
then 
return 'min_value= '||to_char(val1);
endif;
elsif val2<val1 and val2<val3 
then
return 'min_value='||to_char(val2);
endif;
elsif val3<val1 and val3<val2
then
return 'min_value=' ||to_char(val3);
endif;
end;

видає ту саму помилку

4 Востаннє редагувалося Droid 77 (17.07.2020 17:35:27)

Re: мінімальний параметр Оракл

Я не про те...

endif;

знайдіть одну відмінність

end if;

Гляньте посилання в другому пості, під спойлером.

P. S.
приклад з посилання:

IF Lvalue IS NULL then

   ...

END IF

5

Re: мінімальний параметр Оракл

create or replace function min_parameter(val1 int,val2 int,val3 int) return int is
begin
if val1<val2 and val1<val3 
then 
return 'min_value= '||to_char(val1);
end if;
elsif val2<val1 and val2<val3 
then
return 'min_value= '||to_char(val2);
end if;
elsif val3<val1 and val3<val2
then
return 'min_value= '||to_char(val3);
end if;
end;

помилки:
-------------------------------------------------------------

7/7       PLS-00103: Encountered the symbol "VAL2" when expecting one of the following:     := . ( @ % ; The symbol ":=" was substituted for "VAL2" to continue. 
8/1       PLS-00103: Encountered the symbol "THEN" when expecting one of the following:     . ( * @ % & - + ; / at mod remainder rem <an exponent (**)>    and or || multiset 
10/5      PLS-00103: Encountered the symbol "IF" when expecting one of the following:     ; <an identifier> <a double-quoted delimited-identifier>    current delete exists prior <a single-quoted SQL string> 

6

Re: мінімальний параметр Оракл

Так а нащо додаткові end if натикали, на відміну від первинного листингу?

7

Re: мінімальний параметр Оракл

create or replace function min_parameter(val1 int,val2 int,val3 int) return varchar2 is
begin
if val1<val2 and val1<val3 
then 
return 'min_value= '||to_char(val1);
elsif val2<val1 and val2<val3 
then
return 'min_value= '||to_char(val2);
elsif val3<val1 and val3<val2
then
return 'min_value= '||to_char(val3);
end if;
end;

працює, тільки не показує результат.
показує - procedure successfully completed, а не мінімальне число

BEGIN
    --DBMS_OUTPUT.enable;
    DBMS_OUTPUT.put_line( min_parameter(257,555,161));
END;

8

Re: мінімальний параметр Оракл

SET SERVEROUTPUT ON
DECLARE
BEGIN
    DBMS_OUTPUT.enable;
    DBMS_OUTPUT.put_line( min_parameter(270,5805,1698));
END;

тепер виводить

9 Востаннє редагувалося frz (17.07.2020 18:36:41)

Re: мінімальний параметр Оракл

Ви б краще розповіли, нащо ви це робите... Якщо для навчання, то ок, але практичне застосування сумнівне, оскільки в ораклі є для цього штатні засоби:

select least(5, 6, 7) as t1 from dual

T1
----------
5

Штатні засоби написані на C і завжди працюють швидше ніж користувацькі функції, варто перевірити на великих об'ємах, щоб переконатися.

10

Re: мінімальний параметр Оракл

Просто нам цього не розповідали. І ще багато чого.
По Oracle нам дали дуже мало інформації

11

Re: мінімальний параметр Оракл

В нас на вивчення Oracle пішло не більше 20 годин

12

Re: мінімальний параметр Оракл

sasha87 написав:

В нас на вивчення Oracle пішло не більше 20 годин

В нас - це в кого ? І запитайте у свого викладача, скільки годин виділено на самостійне вивчення.

13

Re: мінімальний параметр Оракл

:D  зазвичай студенти той час що відведено на самостійне вивчення предметної частини використовують не за призначенням.

14

Re: мінімальний параметр Оракл

В ШАГ.
часу дається тиждень(між темами). Заняття 1раз в тиждень - субота

15 Востаннє редагувалося frz (17.07.2020 23:01:10)

Re: мінімальний параметр Оракл

sasha87 написав:

В ШАГ.

А що ще там викладають на вашому напрямку?

хоч мене і не питали

Так як бази даних - це мій основний хліб, то дивлячись на ваші задачки можу сказати, що цілком даремно гроші ви не платите, бо якісь знання таки ви там здобуваєте.

Мабуть не візьмуся радити якісь кращі курси, бо у відриві від практики здобути теоретичні знання вкрай важко, жодні курси не дадуть того що треба. Хіба що можна надіслати згодом резюме в якийсь банк і потрапити "старшим куди пошлють" в айті відділ, в наших банках використовують лише оракл.

Чув що в податковій теж оракл, там ще й брак спеціалістів, тож мабуть є сенс спробувати. От тільки з оплатою там не дуже, але ж це задля навчання а не задля заробітку.

Не знаю чи дадуть достатній доступ і потрібні задачки достатні для навчання, однак при сприятливих умовах саме там можна непогано навчитися, щоб потім за умови хорошої англійської добре заробляти на закордонних замовленнях.

16

Re: мінімальний параметр Оракл

frz, та усім іншим дуже вам дякую за цікаву і цінну інформацію і допомогу.
Там дають досить багато предметів, але все "поверхово" і галопом (на жаль тільки основне).
Крім Оракл ми проходили C++, microsoft sql server, були ще заняття по мережах.
ще маємо вивчати C#, java, створення сайтів і ще багато чого.
Напрямків дуже багато. Але все в дуже стислі терміни. Так як форма навчання - напівстаціонар (тільки 1 день в тиждень - субота)
Тривалість навчання 2 з половиною роки. Як казав викладач, до кінця доходить дуже мало студентів (комусь надоідає можливо, комусь важко дається, в когось не вистачає часу, комусь стає не цікаво, хтось думає що з дипломом ШАГ не знайдеш гідної роботи, тому що це не повноцінне університетське навчання...). Що ви думаєте з цього приводу?

17

Re: мінімальний параметр Оракл

Так все норм. Дають основи програмування найбільш розповсюджених мов та технологій.
Який напрям, мову(мови) та технології обирати для повсякденного використання. То вже вирішить кожен учень індивідуально для самого себе.