DECLARE
CURSOR Cur_Lov_Sql(p_Pre_Sql_Addr VARCHAR2) IS
SELECT t.Sql_Text FROM V$sqltext_With_Newlines t WHERE t.Address = p_Pre_Sql_Addr ORDER BY t.Piece;
--
l_Lov_Sql VARCHAR2(2400);
l_Prev_Sql_Addr VARCHAR2(200);
BEGIN
BEGIN
SELECT v.Prev_Sql_Addr INTO l_Prev_Sql_Addr FROM V$session v WHERE v.Sid = &Sid;
EXCEPTION
WHEN OTHERS THEN
Dbms_Output.Put_Line('get prev sql addr error,' || SQLCODE || ':' || SQLERRM);
END;
--
FOR Rec IN Cur_Lov_Sql(l_Prev_Sql_Addr) LOOP
l_Lov_Sql := Nvl(l_Lov_Sql, '') || Rec.Sql_Text;
END LOOP;
--
Dbms_Output.Put_Line('LOV查询SQL为:');
Dbms_Output.Put_Line(l_Lov_Sql);
END;