Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Получить финальный текст запроса из реф курсора.  [new]
Можно ли?
Guest
Форумчане, Всех с Наступающим!
Есть программа на pl/sql и в ней переменная l_ref_cursor sys_refcursor;
Далее в программе идет open l_ref_cursor for 'select .... :l1 ... l2....' using l1,l2;
Запрос очень большой с большим количеством биндов и склеек.
Можно ли как-то без трэйса получить финалный текст запроса с уже подставленными значениями переменных?
Спасибо.
31 дек 13, 15:01    [15369086]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
Elic
Member

Откуда:
Сообщений: 29980
Соображающие люди клеят в строку, которую при необходимости можно легко запротоколировать.
31 дек 13, 15:16    [15369159]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
Gallagher
Member

Откуда: ( ͡°◞ʖ◟ ͡°)
Сообщений: 542
Текст курсора можно вытащить из v$sql, сразу по его открытию.
Oracle не хранит в текстовом виде отпаршенные значениями биндов курсоры.
Самый простой вариант без трейсов - логировать параметры руками, в автономной транзакции, перед/после открытия курсора.
31 дек 13, 15:33    [15369212]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
ааппрр
Guest
Можно ли?
Форумчане, Всех с Наступающим!
Есть программа на pl/sql и в ней переменная l_ref_cursor sys_refcursor;
Далее в программе идет open l_ref_cursor for 'select .... :l1 ... l2....' using l1,l2;
Запрос очень большой с большим количеством биндов и склеек.
Можно ли как-то без трэйса получить финалный текст запроса с уже подставленными значениями переменных?
Спасибо.
нет
31 дек 13, 16:01    [15369277]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
Можно ли?
Guest
Elic
Соображающие люди клеят в строку, которую при необходимости можно легко запротоколировать.

Запрос из пакета в Oracle Applications :(

Gallagher
Самый простой вариант без трейсов - логировать параметры руками, в автономной транзакции, перед/после открытия курсора.


Именно этого и хотелось бы избежать :)
31 дек 13, 16:07    [15369299]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
Elic
Member

Откуда:
Сообщений: 29980
Можно ли?,

Ну что, наивная надежда отмерла?
31 дек 13, 16:15    [15369325]     Ответить | Цитировать Сообщить модератору
 Re: Получить финальный текст запроса из реф курсора.  [new]
Деев И.
Member

Откуда: отсюда
Сообщений: 783
Можно попробовать получить через v$sql + view с названием like 'V$%BIND%CAPTURE%'
да и то там будут не все bind-переменные, а только используемые в where и только простых скалярных типов...
31 дек 13, 19:26    [15369660]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить