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论坛