Как получить текст sql курсора?

Если у меня есть курсор и я хотел бы записать текст курсора во время выполнения, можно ли каким-то образом использовать имя курсора и получить SQL?

Например,

OPEN cursor_1 for 
    SELECT ...

Я хотел бы верить, что я могу сделать что-то вроде cursor_1%NAME так же, как я могу использовать другие атрибуты курсора. (% ISOPEN,% FOUND и т. д.).

4 голоса | спросил McArthey 28 MarpmThu, 28 Mar 2013 20:09:06 +04002013-03-28T20:09:06+04:0008 2013, 20:09:06

1 ответ


0

AFAIK, нет способа связать курсор name с анализируемым текстом SQL, но соединить V$open_cursor с v$sql используя SQL_ID, вы должны быть в состоянии вытащить & записывать подробности записи оператора SQL для тех открытых курсоров.

SELECT sql_id,
       user_name,
       sid,
       saddrsql_fulltext
FROM   v$sql
       join v$open_cursor USING (sql_id) 

Возможно, вы могли бы сопоставить текст SQL с курсором, но это будет ручной процесс

ответил Sathyajith Bhat 28 MarpmThu, 28 Mar 2013 21:12:28 +04002013-03-28T21:12:28+04:0009 2013, 21:12:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132