1

Тема: сортування в процедурі Оракл

Написати процедуру, яка виводить на екран книги і ціни із зазначеної тематики.
--Прі цьому необхідно вказувати напрямок сортування: 0 - за ціною,
--по росту, 1 - за спаданням, будь-яке інше - без сортування

Як додати сортування?

create or replace procedure Showbookswithsort as
sortby int;
a1 varchar2(5000);
a2 varchar2(5000);
a3 varchar2(5000);
cursor qwerty is 
select b.name_book,TO_Char(b.price),t.name_theme from BOOKS b,THEMES t where b.id_theme=t.ID_THEME
begin
open qwerty;
fetch qwerty into a1,a2,a3;
loop
 dbms_output.put_line(a1||' ' ||a2||' ' ||a3);
 exit when qwerty%notfound;
 fetch qwerty into a1,a2,a3;
end loop;
close qwerty;
end;

2

Re: сортування в процедурі Оракл

Динамічний SQL. Поки що пропоную ґуґлити на цю тему, покажу більше коли буду за компом.

3

Re: сортування в процедурі Оракл

нам про динамчіний SQl нічого не розказували на жаль.

4

Re: сортування в процедурі Оракл

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

5

Re: сортування в процедурі Оракл

Це ми просто в ms sql management studio робили. Там синтаксис простіший.
І нам дали завдання це реалізувати ще й в Ораклі.

6

Re: сортування в процедурі Оракл

Order by все одно динамічно встановлюється, неважливо чи MS SQL, чи Oracle.

Цікаво, як тоді реалізували в MS SQL?

7

Re: сортування в процедурі Оракл

create procedure ShowBooksWithSort 
@sordby int
as
if @sordby = 0
    select b.NameBook, b.Price, t.NameTheme from [BOOKS (book)]b, [Themes (book)]t where b.[ID _ THEME]=t.[ID _ THEME] order by 2 asc
else if @sordby = 1
    select b.NameBook, b.Price, t.NameTheme from [BOOKS (book)]b, [Themes (book)]t where b.[ID _ THEME]=t.[ID _ THEME] order by 2 desc
else
    select b.NameBook, b.Price, t.NameTheme from [BOOKS (book)]b, [Themes (book)]t where b.[ID _ THEME]=t.[ID _ THEME]

execute ShowBooksWithSort 0

8

Re: сортування в процедурі Оракл

Це саме можна зробити і в ораклі. Тільки ж це повторення коду... Уявіть якби потрібний вам селект займав тисячу стрічок - ви б його теж повторювали? Це нераціонально. Навіть з таким підходом if ... then ... else можна це зробити дещо оптимальніше. Зараз накидаю варіант.

9

Re: сортування в процедурі Оракл

Це я взяв код із Майкрософт Студії і трохи підігнав під Оракл.
Викладач трохи допоміг і порадив використовувати курсори.
(Робив завдання по процедурах і функціях) і він мені завжди рекомендував курсори.
Хоча в роботі з БД, які мають великі об‘єми даних курсори можуть уповільнити час виконання певної операції.

10

Re: сортування в процедурі Оракл

А ви не могли б викладати приклади на SQLFiddle чи щось аналогічне? Тоді було б значно зручніше редагувати на місці і вам відповідати.

Подякували: leofun011

11

Re: сортування в процедурі Оракл

А де варіант?

12 Востаннє редагувалося frz (22.07.2020 18:36:00)

Re: сортування в процедурі Оракл

sasha87 написав:

А де варіант?

Ну я працюю над своїми завданнями і одразу ж нема можливості відповісти. Трохи терпіння...

13

Re: сортування в процедурі Оракл

Добре !
Вибачте будь-ласка!!!

14

Re: сортування в процедурі Оракл

Накидав нашвидкуруч, щоправда поки не придумав як зробити третій варіант (тобто не сортувати зовсім) :

Прихований текст
Create Or Replace Procedure test1.ShowBooksWithSort (sordby int) Is
    a1 varchar2(5000);
    a2 varchar2(5000);
    a3 varchar2(5000);

    cursor qwerty is
        With tmp_books as (
        Select 'name1' as name, 1 as price, 'nametheme1' as nametheme from dual union all
        Select 'name2' as name, 2 as price, 'nametheme2' as nametheme from dual
        )
        Select * From tmp_books 
        order by 
        case when sordby = 0 then price end,
        case when sordby = 1 then price end desc;
Begin
    dbms_output.put_line('begin');
    DBMS_OUTPUT. ENABLE;
    open qwerty;
    fetch qwerty into a1,a2,a3;
    loop
     dbms_output.put_line(a1||' ' ||a2||' ' ||a3);
     fetch qwerty into a1,a2,a3;
     exit when qwerty%notfound;
    end loop;
    close qwerty;
    dbms_output.put_line('end');
End;

SET SERVEROUTPUT ON;
exec test1.ShowBooksWithSort(0);

15

Re: сортування в процедурі Оракл

Дуже дякую. Пізніше перевірю.
Я не розумію чому викладач мені радить використовувати курсори.(вони уповільнюють роботу процедури чи функції). Хоча з допомогою курсорів можна вивести багато записів.
Що ще можна було би використати замість курсорів?

16

Re: сортування в процедурі Оракл

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

Поки що пропоную пробувати освоїти pipelined function (table-valued function, табличну функцію).

17

Re: сортування в процедурі Оракл

Скидав цей варіант викладачеві і він сказав, що в ньому є помилки, але не уточнив які

18

Re: сортування в процедурі Оракл

Додав ще одну стрічку із price = 0 для більш наочної демонстрації результату (третій варіант процедура виконувала, однак досі не було потрібного третього запису щоб показати як саме це працює).
Прибрав зайві dbms_output (begin i end).
В курсорі замість "селект зірочка" вказав назви колонок (селект зірочка - це погана практика, оскільки в таблиці може змінитися кількість колонок і тоді буде помилка).

процедура
Create Or Replace Procedure test1.ShowBooksWithSort (sordby int) Is
    a1 varchar2(5000);
    a2 varchar2(5000);
    a3 varchar2(5000);

    cursor qwerty is
        With tmp_books as (
        Select 'name1' as name, 1 as price, 'nametheme1' as nametheme from dual union all
        Select 'name2' as name, 2 as price, 'nametheme2' as nametheme from dual union all 
        Select 'name0' as name, 0 as price, 'nametheme0' as nametheme from dual
        )
        Select name, price, nametheme From tmp_books 
        order by 
        case when sordby = 0 then price end,
        case when sordby = 1 then price end desc;
Begin
    DBMS_OUTPUT.ENABLE;
    open qwerty;
    fetch qwerty into a1,a2,a3;
    loop
     dbms_output.put_line(a1||' ' ||a2||' ' ||a3);
     fetch qwerty into a1,a2,a3;
     exit when qwerty%notfound;
    end loop;
    close qwerty;
End;
результати
SET SERVEROUTPUT ON;
exec test1.ShowBooksWithSort(0);

name0 0 nametheme0
name1 1 nametheme1
name2 2 nametheme2

SET SERVEROUTPUT ON;
exec test1.ShowBooksWithSort(1);

name2 2 nametheme2
name1 1 nametheme1
name0 0 nametheme0

SET SERVEROUTPUT ON;
exec test1.ShowBooksWithSort(3);

name1 1 nametheme1
name0 0 nametheme0
name2 2 nametheme2

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

19

Re: сортування в процедурі Оракл

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

Create Or Replace Procedure ShowBooksWithSort (sordby int) Is
    a1 varchar2(5000);
    a2 varchar2(5000);
    a3 varchar2(5000);

    cursor qwerty is
        With tmp_books as (
        Select 'name1' as NAME_BOOK, 1 as PRICE, 'nametheme1' as NAME_THEME from dual union all
        Select 'name2' as NAME_BOOK, 2 as PRICE, 'nametheme2' as  NAME_THEME from dual union all 
        Select 'name0' as NAME_BOOK, 0 as PRICE, 'nametheme0' as  NAME_THEME from dual
        )
        Select NAME_BOOK, PRICE, NAME_THEME From BOOKS, THEMES
        order by 
        case when sordby = 0 then PRICE end,
        case when sordby = 1 then PRICE end desc;
Begin
    DBMS_OUTPUT.ENABLE;
    open qwerty;
    fetch qwerty into a1,a2,a3;
    loop
     dbms_output.put_line(a1||' ' ||a2||' ' ||a3);
     fetch qwerty into a1,a2,a3;
     exit when qwerty%notfound;
    end loop;
    close qwerty;
end;
SET SERVEROUTPUT ON
  exec ShowBooksWithSort(1); 

ось що виводить:

MySQL по максимуму 1221 класична проза
MySQL по максимуму 1221 роман
MySQL по максимуму 1221 повість
MySQL по максимуму 1221 фентезі
MySQL по максимуму 1221 архітектура і будівництво
MySQL по максимуму 1221 історія
MySQL по максимуму 1221 детектив
MySQL по максимуму 1221 медицина
MySQL по максимуму 1221 біографія
MySQL по максимуму 1221 релігія
MySQL по максимуму 1221 інформатика
MySQL по максимуму 1221 туризм
MySQL по максимуму 1221 транспорт
MySQL по максимуму 1221 СУБД.Бази даних
MySQL по максимуму 1221 Бізнес
MySQL по максимуму 1221 програмування
MySQL по максимуму 1221 бойовик
MySQL по максимуму 1221 комікси.фантастика
MySQL по максимуму 1221 словник
MySQL по максимуму 1221 маркетинг
MySQL по максимуму 1221 енциклопедія
MySQL по максимуму 1221 педагогіка
MySQL по максимуму 1221 філософія
MySQL по максимуму 1221 психологія
C++ Базовый курс 645 роман
C++ Базовый курс 645 психологія
C++ Базовый курс 645 філософія
C++ Базовый курс 645 історія
C++ Базовый курс 645 педагогіка
C++ Базовый курс 645 інформатика
C++ Базовый курс 645 енциклопедія
C++ Базовый курс 645 повість
C++ Базовый курс 645 маркетинг
C++ Базовый курс 645 релігія
C++ Базовый курс 645 словник
C++ Базовый курс 645 архітектура і будівництво
C++ Базовый курс 645 комікси.фантастика
C++ Базовый курс 645 біографія
C++ Базовый курс 645 бойовик
C++ Базовый курс 645 класична проза
C++ Базовый курс 645 програмування
C++ Базовый курс 645 медицина
C++ Базовый курс 645 Бізнес
C++ Базовый курс 645 фентезі
C++ Базовый курс 645 СУБД.Бази даних
C++ Базовый курс 645 детектив
C++ Базовый курс 645 транспорт
C++ Базовый курс 645 туризм
СТИВ ДЖОБС 622 філософія
СТИВ ДЖОБС 622 педагогіка
СТИВ ДЖОБС 622 енциклопедія
СТИВ ДЖОБС 622 маркетинг
СТИВ ДЖОБС 622 словник
СТИВ ДЖОБС 622 комікси.фантастика
СТИВ ДЖОБС 622 бойовик
СТИВ ДЖОБС 622 програмування
СТИВ ДЖОБС 622 Бізнес
СТИВ ДЖОБС 622 СУБД.Бази даних
СТИВ ДЖОБС 622 транспорт
СТИВ ДЖОБС 622 туризм
СТИВ ДЖОБС 622 інформатика
СТИВ ДЖОБС 622 релігія
СТИВ ДЖОБС 622 біографія
СТИВ ДЖОБС 622 медицина
СТИВ ДЖОБС 622 детектив
СТИВ ДЖОБС 622 історія
СТИВ ДЖОБС 622 архітектура і будівництво
СТИВ ДЖОБС 622 фентезі
СТИВ ДЖОБС 622 повість
СТИВ ДЖОБС 622 психологія
СТИВ ДЖОБС 622 роман
СТИВ ДЖОБС 622 класична проза
Искусство тестирования программ 590 класична проза
Искусство тестирования программ 590 філософія
Искусство тестирования программ 590 педагогіка
Искусство тестирования программ 590 енциклопедія
Искусство тестирования программ 590 маркетинг
Искусство тестирования программ 590 словник
Искусство тестирования программ 590 комікси.фантастика
Искусство тестирования программ 590 бойовик
Искусство тестирования программ 590 програмування
Искусство тестирования программ 590 Бізнес
Искусство тестирования программ 590 СУБД.Бази даних
Искусство тестирования программ 590 транспорт
Искусство тестирования программ 590 туризм
Искусство тестирования программ 590 інформатика
Искусство тестирования программ 590 релігія
Искусство тестирования программ 590 біографія
Искусство тестирования программ 590 медицина
Искусство тестирования программ 590 детектив
Искусство тестирования программ 590 історія
Искусство тестирования программ 590 архітектура і будівництво
Искусство тестирования программ 590 фентезі
Искусство тестирования программ 590 повість
Искусство тестирования программ 590 психологія
Искусство тестирования программ 590 роман
Apple. Эволюция компьютера 589 філософія
Apple. Эволюция компьютера 589 класична проза
Apple. Эволюция компьютера 589 комікси.фантастика
Apple. Эволюция компьютера 589 інформатика
Apple. Эволюция компьютера 589 енциклопедія
Apple. Эволюция компьютера 589 релігія
Apple. Эволюция компьютера 589 бойовик
Apple. Эволюция компьютера 589 біографія
Apple. Эволюция компьютера 589 роман
Apple. Эволюция компьютера 589 медицина
Apple. Эволюция компьютера 589 програмування
Apple. Эволюция компьютера 589 детектив
Apple. Эволюция компьютера 589 маркетинг
Apple. Эволюция компьютера 589 історія
Apple. Эволюция компьютера 589 Бізнес
Apple. Эволюция компьютера 589 архітектура і будівництво
Apple. Эволюция компьютера 589 педагогіка
Apple. Эволюция компьютера 589 фентезі
Apple. Эволюция компьютера 589 СУБД.Бази даних
Apple. Эволюция компьютера 589 повість
Apple. Эволюция компьютера 589 словник
Apple. Эволюция компьютера 589 психологія
Apple. Эволюция компьютера 589 транспорт
Apple. Эволюция компьютера 589 туризм
SQL для чайников, 9-е издание 494 СУБД.Бази даних
SQL для чайников, 9-е издание 494 транспорт
SQL для чайников, 9-е издание 494 програмування
SQL для чайников, 9-е издание 494 бойовик
SQL для чайников, 9-е издание 494 комікси.фантастика
SQL для чайников, 9-е издание 494 словник
SQL для чайников, 9-е издание 494 маркетинг
SQL для чайников, 9-е издание 494 енциклопедія
SQL для чайников, 9-е издание 494 педагогіка
SQL для чайников, 9-е издание 494 філософія
SQL для чайников, 9-е издание 494 роман
SQL для чайников, 9-е издание 494 класична проза
SQL для чайников, 9-е издание 494 психологія
SQL для чайников, 9-е издание 494 повість
SQL для чайников, 9-е издание 494 фентезі
SQL для чайников, 9-е издание 494 архітектура і будівництво
SQL для чайников, 9-е издание 494 історія
SQL для чайников, 9-е издание 494 детектив
SQL для чайников, 9-е издание 494 медицина
SQL для чайников, 9-е издание 494 біографія
SQL для чайников, 9-е издание 494 релігія
SQL для чайников, 9-е издание 494 інформатика
SQL для чайников, 9-е издание 494 туризм
SQL для чайников, 9-е издание 494 Бізнес
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 СУБД.Бази даних
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 транспорт
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 програмування
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 бойовик
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 комікси.фантастика
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 словник
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 маркетинг
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 енциклопедія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 педагогіка
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 філософія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 роман
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 класична проза
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 психологія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 повість
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 фентезі
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 архітектура і будівництво
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 історія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 детектив
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 медицина
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 біографія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 релігія
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 інформатика
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 туризм
ЭЛЕКТРИЧЕСКИЙ ШТАТ 483 Бізнес
Черчилль. Биография 450 СУБД.Бази даних
Черчилль. Биография 450 транспорт
Черчилль. Биография 450 програмування
Черчилль. Биография 450 бойовик
Черчилль. Биография 450 комікси.фантастика
Черчилль. Биография 450 словник
Черчилль. Биография 450 маркетинг
Черчилль. Биография 450 енциклопедія
Черчилль. Биография 450 педагогіка
Черчилль. Биография 450 філософія
Черчилль. Биография 450 роман
Черчилль. Биография 450 класична проза
Черчилль. Биография 450 психологія
Черчилль. Биография 450 повість
Черчилль. Биография 450 фентезі
Черчилль. Биография 450 архітектура і будівництво
Черчилль. Биография 450 історія
Черчилль. Биография 450 детектив
Черчилль. Биография 450 медицина
Черчилль. Биография 450 біографія
Черчилль. Биография 450 релігія
Черчилль. Биография 450 інформатика
Черчилль. Биография 450 туризм
Черчилль. Биография 450 Бізнес
ТРЕЗОРИУМ 442 транспорт
ТРЕЗОРИУМ 442 СУБД.Бази даних
ТРЕЗОРИУМ 442 Бізнес
ТРЕЗОРИУМ 442 програмування
ТРЕЗОРИУМ 442 бойовик
ТРЕЗОРИУМ 442 комікси.фантастика
ТРЕЗОРИУМ 442 словник
ТРЕЗОРИУМ 442 маркетинг
ТРЕЗОРИУМ 442 енциклопедія
ТРЕЗОРИУМ 442 педагогіка
ТРЕЗОРИУМ 442 філософія
ТРЕЗОРИУМ 442 роман
ТРЕЗОРИУМ 442 класична проза
ТРЕЗОРИУМ 442 психологія
ТРЕЗОРИУМ 442 повість
ТРЕЗОРИУМ 442 фентезі
ТРЕЗОРИУМ 442 архітектура і будівництво
ТРЕЗОРИУМ 442 історія
ТРЕЗОРИУМ 442 детектив
ТРЕЗОРИУМ 442 медицина
ТРЕЗОРИУМ 442 біографія
ТРЕЗОРИУМ 442 релігія
ТРЕЗОРИУМ 442 інформатика
ТРЕЗОРИУМ 442 туризм
Сокровища. Клады 403 СУБД.Бази даних
Сокровища. Клады 403 транспорт
Сокровища. Клады 403 програмування
Сокровища. Клады 403 бойовик
Сокровища. Клады 403 комікси.фантастика
Сокровища. Клады 403 словник
Сокровища. Клады 403 маркетинг
Сокровища. Клады 403 енциклопедія
Сокровища. Клады 403 педагогіка
Сокровища. Клады 403 філософія
Сокровища. Клады 403 роман
Сокровища. Клады 403 класична проза
Сокровища. Клады 403 психологія
Сокровища. Клады 403 повість
Сокровища. Клады 403 фентезі
Сокровища. Клады 403 архітектура і будівництво
Сокровища. Клады 403 історія
Сокровища. Клады 403 детектив
Сокровища. Клады 403 медицина
Сокровища. Клады 403 біографія
Сокровища. Клады 403 релігія
Сокровища. Клады 403 інформатика
Сокровища. Клады 403 туризм
Сокровища. Клады 403 Бізнес
Искусство дыхания. Секрет осознанной жизни 385 СУБД.Бази даних
Искусство дыхания. Секрет осознанной жизни 385 транспорт
Искусство дыхания. Секрет осознанной жизни 385 програмування
Искусство дыхания. Секрет осознанной жизни 385 бойовик
Искусство дыхания. Секрет осознанной жизни 385 комікси.фантастика
Искусство дыхания. Секрет осознанной жизни 385 словник
Искусство дыхания. Секрет осознанной жизни 385 маркетинг
Искусство дыхания. Секрет осознанной жизни 385 енциклопедія
Искусство дыхания. Секрет осознанной жизни 385 педагогіка
Искусство дыхания. Секрет осознанной жизни 385 філософія
Искусство дыхания. Секрет осознанной жизни 385 роман
Искусство дыхания. Секрет осознанной жизни 385 класична проза
Искусство дыхания. Секрет осознанной жизни 385 психологія
Искусство дыхания. Секрет осознанной жизни 385 повість
Искусство дыхания. Секрет осознанной жизни 385 фентезі
Искусство дыхания. Секрет осознанной жизни 385 архітектура і будівництво
Искусство дыхания. Секрет осознанной жизни 385 історія
Искусство дыхания. Секрет осознанной жизни 385 детектив
Искусство дыхания. Секрет осознанной жизни 385 медицина
Искусство дыхания. Секрет осознанной жизни 385 біографія
Искусство дыхания. Секрет осознанной жизни 385 релігія
Искусство дыхания. Секрет осознанной жизни 385 інформатика
Искусство дыхания. Секрет осознанной жизни 385 туризм
Искусство дыхания. Секрет осознанной жизни 385 Бізнес
Роздуми про XX cтоліття 360 СУБД.Бази даних
Роздуми про XX cтоліття 360 транспорт
Роздуми про XX cтоліття 360 програмування
Роздуми про XX cтоліття 360 бойовик
Роздуми про XX cтоліття 360 комікси.фантастика
Роздуми про XX cтоліття 360 словник
Роздуми про XX cтоліття 360 маркетинг
Роздуми про XX cтоліття 360 енциклопедія
Роздуми про XX cтоліття 360 педагогіка
Роздуми про XX cтоліття 360 філософія
Роздуми про XX cтоліття 360 роман
Роздуми про XX cтоліття 360 класична проза
Роздуми про XX cтоліття 360 психологія
Роздуми про XX cтоліття 360 повість
Роздуми про XX cтоліття 360 фентезі
Роздуми про XX cтоліття 360 архітектура і будівництво
Роздуми про XX cтоліття 360 історія
Роздуми про XX cтоліття 360 детектив
Роздуми про XX cтоліття 360 медицина
Роздуми про XX cтоліття 360 біографія
Роздуми про XX cтоліття 360 релігія
Роздуми про XX cтоліття 360 інформатика
Роздуми про XX cтоліття 360 туризм
Роздуми про XX cтоліття 360 Бізнес
Королевская битва 342 СУБД.Бази даних
Королевская битва 342 транспорт
Королевская битва 342 програмування
Королевская битва 342 бойовик
Королевская битва 342 комікси.фантастика
Королевская битва 342 словник
Королевская битва 342 маркетинг
Королевская битва 342 енциклопедія
Королевская битва 342 педагогіка
Королевская битва 342 філософія
Королевская битва 342 роман
Королевская битва 342 класична проза
Королевская битва 342 психологія
Королевская битва 342 повість
Королевская битва 342 фентезі
Королевская битва 342 архітектура і будівництво
Королевская битва 342 історія
Королевская битва 342 детектив
Королевская битва 342 медицина
Королевская битва 342 біографія
Королевская битва 342 релігія
Королевская битва 342 інформатика
Королевская битва 342 туризм
Королевская битва 342 Бізнес
Композиція. Тотальний контроль 312 СУБД.Бази даних
Композиція. Тотальний контроль 312 транспорт
Композиція. Тотальний контроль 312 програмування


Error starting at line : 3 in command -
BEGIN ShowBooksWithSort(1); END;
Error report -
ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 32
ORA-06512: at "SYS.DBMS_OUTPUT", line 97
ORA-06512: at "SYS.DBMS_OUTPUT", line 112
ORA-06512: at "C##SASHA.SHOWBOOKSWITHSORT", line 21
ORA-06512: at line 1
20000. 00000 -  "%s"
*Cause:    The stored procedure 'raise_application_error'
           was called which causes this error to be generated.
*Action:   Correct the problem as described in the error message or contact
           the application administrator or DBA for more information.

20

Re: сортування в процедурі Оракл

sasha87 написав:

ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes

Фікситься таким способом:

DBMS_OUTPUT.ENABLE(1000000);

Це видав ґуґл в першій стрічці результату. Серйозно, як ви збираєтеся стати програмістом, якщо спершу не ґуґлите?  :(

Подякували: koala, leofun012