oracle 11g v$sql,什么样的SQL可以在V$SQL中找到?

博客探讨了在 Oracle 数据库中使用 SQL 注释,并在 V$SQL 视图中查找执行的 SQL 语句的问题。作者创建了一个存储过程,其中包含带有特定标签的 SQL 语句,但发现这些语句并未如预期地出现在 V$SQL 视图中。内容涉及到 SQL 查询、存储过程、V$SQL 视图的使用以及数据库查询监控。
摘要由CSDN通过智能技术生成

我为了在v$sql中,找到我执行的sql语句,在sql语句中加了个注释。

奇怪的是:为什么在procedure中的sql(即mytag02的sql)没有在v$sql中出现?

SQL> select /* mytag01 */ dummy  from dual;

DU

--

X

已用时间:  00: 00: 00.10

SQL>

SQL> create or replace procedure test_p is

2    v_val varchar2(1);

3  begin

4    select /* mytag02 */ dummy into v_val from dual;

5    execute immediate 'select /* mytag03 */ dummy from dual' into v_val;

6  end;

7  /

过程已创建。

已用时间:  00: 00: 00.37

SQL> exec test_p;

PL/SQL 过程已成功完成。

已用时间:  00: 00: 00.07

SQL> select sql_text,parse_calls,executions from v$sql where sql_text like '%mytag0%';

SQL_TEXT                                                                                   PARSE_CALLS EXECUTIONS

------------------------------------------------------------------------------------------ ----------- ----------

select /* mytag01 */ dummy  from dual                                                                1          1

select /* mytag03 */ dummy from dual                                                                 1          1

select sql_text,parse_calls,executions from v$sql where sql_text like '%mytag0%'                     1          1

已用时间:  00: 00: 00.24

SQL> select * from v$version;

BANNER

----------------------------------------------------------------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi

PL/SQL Release 10.2.0.3.0 - Production

CORE    10.2.0.3.0      Production

TNS for HPUX: Version 10.2.0.3.0 - Production

NLSRTL Version 10.2.0.3.0 - Production

已用时间:  00: 00: 00.12

SQL>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>