ITPUB论坛 » Oracle入门与认证 » 在oracle中如何得到真实的sql执行语句


2008-8-6 20:36 yitos
在oracle中如何得到真实的sql执行语句

比如说我在程序中执行的语句为:
insert into tablename values(:para1,:para2);
现在需要通过什么方式可以得到真实的oracle执行语句而不是以变量的形式。
通过select * from v$sql;得到的执行语句是:
insert into tablename values(:1,:2);
假如程序中para1='a'
para2='b'则
我想得到的结果为:
insert into tablename values('a','b');
我也用10046跟踪过在trc文件中记录的也是变量:1,:2而不是实际变量的值。
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2008-8-6 21:17 football2006
关注

2008-8-7 16:36 shahand
try to level 4 or level 12.

2008-8-7 22:03 yitos
oracle的trace level 4 or12都只能得到像下面的数据:
insert into tablename values(:1,:2);
bind0:
………………
value='a'
bind1:
………………
value='b'
而不能得到我想要的结果:
insert into tablename values('a','b');

2008-8-8 09:42 oracle使用者
关注

2008-8-8 12:09 shahand
回复 #4 yitos 的帖子

If disable bind , you can get the exact statement but with bad performance.

页: [1]


Powered by ITPUB论坛