如何检索游标的sql文本?

时间:2013-03-28 16:09:07

标签: oracle cursor

如果我有一个游标并想在执行期间记录游标文本,是否可以以某种方式使用游标名称并检索SQL?

例如,

OPEN cursor_1 for 
    SELECT ...

我想相信我可以像cursor_1%NAME这样做,就像我可以使用游标的其他属性一样。 (%ISOPEN, %FOUND等)。

1 个答案:

答案 0 :(得分:5)

AFAIK,无法将游标名称链接到正在解析的SQL文本,但使用V$open_cursorv$sql加入SQL_ID,您应该是能拔出来的记录为那些打开的游标记录的SQL语句的详细信息。

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

也许您可以将SQL文本与光标相关联,但这必须是一个手动过程