|
![]() |
#1 |
Участник
|
Старая и страшная тема.
Ну нет в оракле селективных процедур, НЕТУ!!! Можно изворачиваться по способу Андре - складывать результат процедуры во вполне обычную табличку, не забывая привинчивать имя пользователя к каждой строчке. Чтоб каши не было. Но это метод для ленивых. А для ОЧЕНЬ-ОЧЕНЬ ленивых есть более прикольный метод. На оракле выше 8.0 (нужно, чтоб возможность с объектами работать была) 1) создаем объектный тип данных навроде строки. 2) создаем таблица из этих строк. 3) делаем функцию, возвращающей значение типа нашей объектной таблицы. В теле функции наполняем выходной набор записей и 4) вызов функции выглядит как select * from the (select * from <имя функции>) НО. У данного способа кроме плюсов: 1) не болит голова с изоляцией пользователей и избавлением от результатов предыдущего запуска; 2) работает даже из-под Access-а. есть и минусы: 1) сложно отлаживать - все приходится делать вслепую. 2) (субъективное) 8.1.6 вел себя гораздо капризней, нежели в случае обычной процедуры PL/SQL - например, NULL вместо ожидаемого значения валил все выполнение. =================================== А вот по поводу примера - занимался сим извращением последний раз пол-года назад, примеров под рукой нет, но в свое время взял идею с форумов ораклоидов. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|