Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.24;
Скачать: [xml.tar.bz2];

Вниз

в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
15-1279549015
ocean
2010-07-19 18:16
2010.10.24
Asus Express gate


15-1279608089
И. Павел
2010-07-20 10:41
2010.10.24
Банковское округление


2-1280872599
Германн
2010-08-04 01:56
2010.10.24
Fast Report. редактирование


2-1280601835
Дмитрий2
2010-07-31 22:43
2010.10.24
TBookmark


2-1280485932
kukuikar
2010-07-30 14:32
2010.10.24
Мерцание TListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский