知识大全 绑定变量的获取

Posted 变量

篇首语:你应该小心一切假知识,它比无知更危险。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 绑定变量的获取相关的知识,希望对你有一定的参考价值。

  对于带有绑定变量的SQL语句 ORACLE在第一次执行的时候 将会进行绑定变量的PEEK 是否PEEK是否隐含参数_OPTIM_PEEK_USER_BINDS控制 默认为TRUE ORACLE在第一次

  PEEK之后 将绑定变量的值放到V$SQL BIND_DATA列里 如下

  SQL> SELECT COUNT( ) FROM TEST;

  COUNT( )

  

  

  SQL> DESC TEST;

  Name                                                  Null?    Type

  

  OWNER                                                          VARCHAR ( )

  NAME                                                           VARCHAR ( )

  TYPE                                                           VARCHAR ( CHAR)

  LINE                                                           NUMBER

  TEXT                                                           VARCHAR ( )

  SQL> SELECT LINE COUNT( ) FROM TEST GROUP BY LINE;

  LINE   COUNT( )

  

          

      

  SQL> VARIABLE LINE NUMBER

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> COL SQL_ID FORMAT A

  SQL> COL BIND_DATA FORMAT A

  SQL> SELECT SQL_ID BIND_DATA FROM V$SQL WHERE SQL_TEXT= SELECT COUNT( ) FROM TEST WHERE LINE=:LINE ;

  SQL_ID               BIND_DATA

  

  abhf n xqgrr         BEDA A C EB C C

  SQL> SELECT VALUE_STRING FROM TABLE(DBMS_SQLTUNE EXTRACT_BINDS( BEDA A C EB C C ));

  VALUE_STRING

  

  

  SQL> SELECT * FROM TABLE(DBMS_XPLAN DISPLAY_CURSOR( abhf n xqgrr ));

  PLAN_TABLE_OUTPUT

  

  SQL_ID  abhf n xqgrr child number

  

  SELECT COUNT( ) FROM TEST WHERE LINE=:LINE

  Plan hash value:

  

  | Id  | Operation             | Name        | Rows  | Bytes | Cost  |

  

  |   | SELECT STATEMENT      |             |       |       |   |

  |   |  SORT AGGREGATE       |             |     |     |       |

  |*  |   INDEX FAST FULL SCAN| IDX_TEST_ |   K|  K|   |

  

  Predicate Information (identified by operation id):

  

   filter( LINE =:LINE)

  Note

  

   cpu costing is off (consider enabling it)

   rows selected

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> ALTER SYSTEM FLUSH SHARED_POOL;

  System altered

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL>  SELECT SQL_ID BIND_DATA FROM V$SQL WHERE SQL_TEXT= SELECT COUNT( ) FROM TEST WHERE LINE=:LINE ;

  SQL_ID               BIND_DATA

  

  abhf n xqgrr         BEDA A C ECC C C

  SQL> SELECT VALUE_STRING FROM TABLE(DBMS_SQLTUNE EXTRACT_BINDS( BEDA A C ECC C C ));

  VALUE_STRING

  

  

  SQL> PRINT:

  LINE

  

  

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> SELECT SQL_ID BIND_DATA FROM V$SQL WHERE SQL_TEXT= SELECT COUNT( ) FROM TEST WHERE LINE=:LINE ;

  SQL_ID               BIND_DATA

  

  abhf n xqgrr         BEDA A C ECC C C

  SQL>  SELECT VALUE_STRING FROM TABLE(DBMS_SQLTUNE EXTRACT_BINDS( BEDA A C ECC C C ));

  VALUE_STRING

  

  

  对于随后的绑定变量的捕获 ORACLE将放在V$SQL_BIND_CATPURE里 默认每隔 秒捕获一次 捕获间隔受隐含参数_cursor_bind_capture_interval的控制

  为了演示的方便 我们把这个间隔设小一点

  SQL> alter system set _cursor_bind_capture_interval = ;

  System altered

  SQL> exec :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT COUNT( ) FROM TEST WHERE LINE=:LINE;

  COUNT( )

  

  

  SQL> SELECT VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID= abhf n xqgrr ;

  VALUE_STRING

  

  

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID= abhf n xqgrr ;

  VALUE_STRING

  

  

  SQL> SELECT VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID= abhf n xqgrr ;

  VALUE_STRING

  

  

  SQL> EXEC :LINE:= ;

  PL/SQL procedure successfully pleted

  SQL> SELECT VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID= abhf n xqgrr ;

  VALUE_STRING

  

  

cha138/Article/program/Oracle/201311/18232

相关参考

知识大全 ado extentsion绑定recordset冗余变量问题

  由于绑定操作是由宏实现的ADOEXTENTSION绑定recordset时需要注意冗余变量问题不慎将导致记录无法出来   classCHasPrpRs:publicC

知识大全 ASP.NET技巧:前台页面代码绑定后台程序变量

ASP.NET技巧:前台页面代码绑定后台程序变量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!li

知识大全 在*.SQL文件里获取并使用变量

在*.SQL文件里获取并使用变量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  熟悉Oracle

知识大全 JavaScript获取后台C#变量以及调用后台方法

JavaScript获取后台C#变量以及调用后台方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 使用PHP获取当前url路径的函数以及服务器变量

使用PHP获取当前url路径的函数以及服务器变量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 如何安装配置你的tomcat5并绑定域名

  首先要安装JDK下载后假定装到c:\\jdk    然后安装tomcat假设安装到c:\\tomcat    下面设置环境变量:  点击我的电脑属性高级环境变量新建    名称输入path值输入C

知识大全 服务器变量 $

  服务器变量$_SERVER的深入解析  $_SESSION[PHP_SELF]获取当前正在执行脚本的文件名  $_SERVER[SERVER_PROTOCOL]请求页面时通信协议的名称和版本例如“

知识大全 php预定义变量

  给大家介绍下php学习中经常要用到的php预定义变量通过预定义变量可以获取用户会话用户操作系统的环境和本地操作系统的环境等信息  $_SERVER[SERVER_ADDR]当前运行脚本所在的服务器

实验中的变量主要有自变量、因变量和无关变量。下列不属于控制无关变量的操作是:__

实验中的变量主要有自变量、因变量和无关变量。下列不属于控制无关变量的操作是:_____A、绿叶中色素的提取和分离实验中,制备滤纸条时剪去两角B、验证光合作用需要光照的实验中,将叶片的一半用黑纸包住C、

知识大全 jsp中把js变量赋给java变量,或者将java变量赋给js变量怎么做

在jsp中经常会遇到把js变量赋给java变量或者将java变量赋给js变量的情况在此将通用的处理方法小结如下java变量传给js好办vara=&#;<%=javaParam%>&