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

Вниз

в Oracle "курсорная" идеология или все же не то чтиво попадается?   Найти похожие ветки 

 
12 ©   (2010-07-20 10:43) [0]

Что не читаю(статьи с инета) - много про курсоры пишут.

Хранимка возвращающая таблицу - вообще жуть.
Объяви переменную типа строки, фетчи ее в переменную типа таблицы..
как в mssql здорово - select и все
или return table as select, для функции если..

Просто до этого во многих книгах по mssql говорилось, что надо мыслить множествами и забыть про курсоры.(вспомнить, если уже совсем никак, после недели и не меньше, неудач, в рамках множеств)


 
Petr V. Abramov ©   (2010-07-20 11:14) [1]


> Объяви переменную типа строки, фетчи ее в переменную типа
> таблицы..

объяви переменную типа таблица, потом

select field1
bulk collect into переменная_типа_таблица

и ничего фетчить не надо.


 
Petr V. Abramov ©   (2010-07-20 11:23) [2]

вообще первоисточник читай
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/toc.htm


 
Игорь Шевченко ©   (2010-07-20 14:54) [3]

За много лет работы с ораклом, не испытывал нужды делать выборку из процедуры.


 
12 ©   (2010-07-20 15:03) [4]


> За много лет работы с ораклом, не испытывал нужды делать
> выборку из процедуры.

как это?
а, например, список ролей пользователя

туда id, оттуда список, процедурами удобнее
историю цен на товар, а товаров - тысячи


 
Игорь Шевченко ©   (2010-07-20 15:05) [5]


> а, например, список ролей пользователя


Список ролей пользователя достается из нужных VIEW


 
Игорь Шевченко ©   (2010-07-20 15:06) [6]


> туда id, оттуда список, процедурами удобнее
> историю цен на товар, а товаров - тысячи


изучай оператор SELECT, он богат


 
Petr V. Abramov ©   (2010-07-20 15:07) [7]


> 12 ©   (20.07.10 15:03) [4]
>
>

в 99.99 процентов случаев хватает кудрявого синтаксиса select`а


 
12 ©   (2010-07-20 15:15) [8]


> в 99.99 процентов случаев хватает кудрявого синтаксиса select`а

согласен, так и есть
один select обычно и возвращает из хранимки результат

а если нужно, чтоб потом была возможность другого отдела на c++/web/java переделать? Логично, чтоб они не парились, а просто вызвали процедуру

и потом, кудрявый select думается будет дольше выполняться, нежели откомпиленная процедурка


 
Игорь Шевченко ©   (2010-07-20 15:20) [9]


> и потом, кудрявый select думается будет дольше выполняться,
>  нежели откомпиленная процедурка


Ты не думай, у тебя это неважно получается


 
Petr V. Abramov ©   (2010-07-20 15:22) [10]


> 12 ©   (20.07.10 15:15) [8]


> и потом, кудрявый select думается будет дольше выполняться,
>  нежели откомпиленная процедурка

совсем не факт, запросы кешируются.

> а если нужно, чтоб потом была возможность другого отдела
> на c++/web/java переделать? Логично, чтоб они не парились,
>  а просто вызвали процедуру

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


 
12 ©   (2010-07-20 15:39) [11]


> Ты не думай, у тебя это неважно получается

главное - получается :)


> совсем не факт, запросы кешируются.

тоже верно


> какая им разница, запрос вызывать или процедуру?

запрос - надо глубже въезжать в БД, процедуру - необязательно.


 
Petr V. Abramov ©   (2010-07-20 15:41) [12]


> 12 ©   (20.07.10 15:39) [11]

а пусть не въезжают, я ж понимаю, процедуру не они пишут, им пофиг, что внутрях. и тут пусть смотрят как на набор букв.
но если уж очень хочется, сделай курсор выходным параметром процедуры и используй open ... for


 
Игорь Шевченко ©   (2010-07-20 15:42) [13]

12 ©   (20.07.10 15:39) [11]

Я искренне советую почитать доку по ораклу. Не в художественном переводе типа "Oracle за 21 день для мигрирующих с других СУБД", а начать с Concepts и потратить месяц/другой на вдумчивое чтение.

Или купить книгу Кайта и прочитать весь тот список, который он рекомендует, а потом прочитать книгу Кайта


 
12 ©   (2010-07-20 15:52) [14]

ясно. Спасибо.
Буду поискать


 
Anatoly Podgoretsky ©   (2010-07-20 16:55) [15]


> что надо мыслить множествами и забыть про курсоры

Курсоры это навигационные методы, это то от чего уходили в SQL в реляционные отношения.



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

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

Наверх




Память: 0.5 MB
Время: 0.008 c
15-1279484976
Юрий
2010-07-19 00:29
2010.10.24
С днем рождения ! 19 июля 2010 понедельник


6-1227962984
dmitry_12_08_73
2008-11-29 15:49
2010.10.24
Выбор способа передачи данных с помощью протокола HTTP


2-1280253036
Hapastiks
2010-07-27 21:50
2010.10.24
Визов вибора папки


3-1246966734
Alexander_K
2009-07-07 15:38
2010.10.24
Тип поля


15-1279632976
Galera
2010-07-20 17:36
2010.10.24
NT AUTHORITY SYSTEM перегрузит ваш компьютер