Ваша реклама могла б бути тут!
1 млн переглядів на місяць!
Google Page Rank: 5

Oracle

🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
Статус: Offline
Реєстрація: 07.02.2010
Повідом.: 316
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #1
написать процедуру и функцию в которых вычисляется max и min значение цены в таблице goods.
помогите кто чем может, уже все перепробовал:confused::confused::confused:
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #2
а что, в оракле нет встроенных функций макс и мин?
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #3
SELECT MAX(price), MIN(price) FROM goods.

мдя...
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #4
Вот что у меня получилось, но там где-то ошибка, помогите найти
create or replace procedure p1 is
maxp number;
minp number;
begin
select max(price) into maxp from goods;
select min(price) into minp from goods;
dbms_output.putline('min = ' ||minp || ' max = ' ||maxp);



create or replace function f1 what varchar2 return number is
temp number;
begin
if what = 'min' then
select min(price) into temp from goods;
return temp;
elsif what = 'max' then
elsif what = 'min' then
endif;
end;
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #5
create or replace procedure p1
as
maxp number;
minp number;
begin
select max(price) into maxp from goods;
select min(price) into minp from goods;
dbms_output.put_line('min = ' ||minp || ' max = ' ||maxp);
end;
/

create or replace function f1(what varchar2) return number
as
temp number;
begin
if what = 'min' then
select min(price) into temp from goods;
elsif what = 'max' then
select max(price) into temp from goods;
end if;
return temp;
end;
/
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #6
create or replace procedure p1
as
maxp number;
minp number;
begin
select max(price) into maxp from goods;
select min(price) into minp from goods;
dbms_output.put_line('min = ' ||minp || ' max = ' ||maxp);
end;
/

create or replace function f1(what varchar2) return number
as
temp number;
begin
if what = 'min' then
select min(price) into temp from goods;
elsif what = 'max' then
select max(price) into temp from goods;
end if;
return temp;
end;
/

ошибки все же еще есть(((
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #7
Какие ошибки?
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #8
мдя... ну и основы...
create or replace procedure p1
as
maxp number(28,6);
minp number(28,6);
begin
select max(price), min(price)
into maxp, minp
from goods;
dbms_output.put_line('min = ' ||minp || ' max = ' ||maxp);
end;
/

create or replace function f1(what varchar2) return number
as
temp number(28,6);
begin
if lower(what) = 'min' then
select min(price) into temp from goods;
elsif lower(what) = 'max' then
select max(price) into temp from goods;
end if;
return temp;
end;
/

так наверное лучче :) А то кто его знает - что там за цены и в чем...
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #9
>так наверное лучче А то кто его знает - что там за цены и в чем...
чем лучше?

to TC:
таблица goods с полем price есть на схеме?
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #10
Лучше тем, что как-то конкретизирует параметры дробных переменных + решает ситуацию, когда передается вид экстремального значения в разных регистрах + если не ошибаюсь, select min(a), max(a) выполняется в один проход, в отличие от двух запросов подряд ;)
Кстати, надо было бы в if добавить:
else
return null;
end if;
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #11
решалась проблема внести минимальные изменения в код автора для исправления ошибок

>Кстати, надо было бы в if добавить:
>else
>return null;
>end if;
не надо
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #12
Почему же не надо? Вроде как не рекомендуется возвращать неинициализированную переменную из функции. А в случае, если в ф-цию передадут левое значение параметра what - то как раз и произойдет возврат неинициализированной переменной temp :)
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #13
в PL/SQL по умолчанию локальные переменные инициализируются значением NULL
 
  • 🟡 05:31 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #14
вполне вероятно :)
Но по-моему все же рекомендуется не возвращать не инициализированные явно переменные. Может это просто хороший тон конечно... Вобщем, в предложении двумя постами выше слово "нужно" необходимо заменить на "стоит" :) Пусть так.
 
Назад
Зверху Знизу