Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Получить список текстов select'ов из процедуры.  [new]
Dnipro
Member

Откуда: Днепропетровск
Сообщений: 180
Всем привет.
Стоит задача получить список текстов select'ов из процедуры. (допустим в виде lob или даже в виде varchar2 построчно.
Есть ли какой-нибудь способ кроме выборки строк этой процедуры из all_source и нахождения в них для каждого select'а строк "select" и ";"?
30 ноя 07, 16:35    [4988850]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116282
Как вариант - v$sql.
Тут будет противоречие.
Чтобы получить все селекты, Вам надо продумать тестовые случаи.
Чтобы продумать все тестовые случаи, нужно по косточкам разобрать логику.
Когда разберете по косточкам логику, селекты уже будут не нужны :-)

Поиск в all_Source - это тоже медленное и печальное дело.

А какой физический смысл в задаче ?
30 ноя 07, 16:40    [4988881]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
Elic
Member

Откуда:
Сообщений: 29990
wrap ... edebug=wrap_new_sql
и задача поиска запросов сильно упрощается :)
30 ноя 07, 16:42    [4988908]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
..отдельный привет желающим извлечь запросы, могущие стартовать из тая процедуры
динамикэскуэлем
30 ноя 07, 16:54    [4988982]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
Dnipro
Member

Откуда: Днепропетровск
Сообщений: 180
dmidek
Как вариант - v$sql.
Тут будет противоречие.
Чтобы получить все селекты, Вам надо продумать тестовые случаи.
Чтобы продумать все тестовые случаи, нужно по косточкам разобрать логику.
Когда разберете по косточкам логику, селекты уже будут не нужны :-)

Поиск в all_Source - это тоже медленное и печальное дело.

А какой физический смысл в задаче ?


В то м то и дело, что разбирать логику не целесообразно по той причине, что:
У заказчика проект давно внедрен и работает, просто задача стоит
"А не могли бы Вы пооптимизировать"?
И статистику никто особо охотно не дает, отсюда и возникло жедание просто понаходить селекты и потестить.

2Elic: кодирование не применяем, так что задача сильно не меняется :)
30 ноя 07, 17:40    [4989271]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
Dnipro
Member

Откуда: Днепропетровск
Сообщений: 180
orawish
..отдельный привет желающим извлечь запросы, могущие стартовать из тая процедуры
динамикэскуэлем


Естественно, как Вы понимаете накладываются некоторые ограничения на исходный код.
Поскольку объять необъятное - не самая умная затея
30 ноя 07, 17:42    [4989275]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 64001
Блог
Dnipro
У заказчика .. задача стоит "А не могли бы Вы пооптимизировать"?

И статистику никто особо охотно не дает

Вижу я в этих словах некоторое противоречие :)
30 ноя 07, 17:43    [4989282]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116282
Dnipro
dmidek
Как вариант - v$sql.
Тут будет противоречие.
Чтобы получить все селекты, Вам надо продумать тестовые случаи.
Чтобы продумать все тестовые случаи, нужно по косточкам разобрать логику.
Когда разберете по косточкам логику, селекты уже будут не нужны :-)

Поиск в all_Source - это тоже медленное и печальное дело.

А какой физический смысл в задаче ?


В то м то и дело, что разбирать логику не целесообразно по той причине, что:
У заказчика проект давно внедрен и работает, просто задача стоит
"А не могли бы Вы пооптимизировать"?
И статистику никто особо охотно не дает, отсюда и возникло жедание просто понаходить селекты и потестить.



[ИМХО]
Путь выбран неверный.
Если стоит задача пооптимизировать, надо знать, а ЧТО оптимизировать.
Для этих целей очень хорошо подходит STATSPACK, tkprof, трассировка сессий,
DBMS_PROFILER. Вот в каком направлении нужно идти, а не в поиске каких-то
Селектов. А вдруг затык в MERGE ? :-)
[/ИМХО]
30 ноя 07, 17:45    [4989287]     Ответить | Цитировать Сообщить модератору
 Re: Получить список текстов select'ов из процедуры.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Dnipro
В то м то и дело, что разбирать логику не целесообразно по той причине, что:
У заказчика проект давно внедрен и работает, просто задача стоит
"А не могли бы Вы пооптимизировать"?
И статистику никто особо охотно не дает, отсюда и возникло жедание просто понаходить селекты и потестить.
Мрак и ужас, постановочка. Я бы послал..
30 ноя 07, 17:52    [4989327]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить