v$sql 有很多如下语句:select count(*) as col_0_0_ from  tb ab0_ where ab0_.TY_TYPE=:1 
里面的 :1 代表什么值,哪里可查到?

解决方案 »

  1.   

    :1 一个 variable 绑定的变量
     看具体的值 print l
      

  2.   

    像:1或者:B1在sql_text中是变量的意思,跟我们在pl/sql中使用select * from  v$sql where runtime_mem=&1 语句中&1是一个意思。在sql执行前要编译,如果采用绑定变量这种方式处理,类似的sql不需要在编译,直接执行就可以了。不清楚可以看看oracle方面的书籍。
      

  3.   

    谢几位解答,我知道代表一个参数变量,我是说 :1 这个具体的代表的值能在oracle里监视到吗?
      

  4.   

    select
    s.sql_text,
    b.name,b.position,b.dup_position,
    b.value_string
    from v$sql s, v$sql_bind_capture b
    where s.hash_value=b.hash_value;
      

  5.   

    v$sql_bind_capture:必须在10g及以上才能有这个视图