`
nannan408
  • 浏览: 1755027 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 绑定变量的用法

 
阅读更多
1.前言。
  oracle10g后,使用绑定变量更能提高效率。
以下转自http://www.educity.cn/develop/555687.html的文章。
让Oracle自己绑定变量

  set serverout on;

  set timing on;

  declare

  l_sql varchar();

  l_count number;

  l_param varchar();

  l_param varchar();

  begin

  l_param:=a;

  l_param:=b;

  select count(*) into l_count from table where col_=l_param and col_=l_param;

  dbms_outputput_line(l_count);

  end;

  /

  在上面的情况Oracle会自己绑定变量即如果参数保存在一个数组中select语句放在一个循环中

  select 语句只会编译一次

  像这样

  for i in 

  loop

  select count(*) into l_count from table where col_=l_param and col_=l_param and col_=i;

  dbms_outputput_line(l_count);

  end loop

  不绑定变量

  set serverout on;

  set timing on;

  declare

  l_sql varchar();

  l_count number;

  l_param varchar();

  l_param varchar();

  begin

  l_param:=a;

  l_param:=b;

  l_sql:=select count(*) into :x from table where col_=||l_param|| and col_=||l_param;

  Execute Immediate l_sql into l_count;

  dbms_outputput_line(l_count);

  end;

  /

  动态绑定变量

  set serverout on;

  set timing on;

  declare

  l_sql varchar();

  l_count number;

  l_param varchar();

  l_param varchar();

  begin

  l_param:=a;

  l_param:=b;

  l_sql:=select count(*) into :x from table where col_=:y and col_=:z ;

  Execute Immediate l_sql into l_count using l_paraml_param;

  dbms_outputput_line(l_count);

  end;

  /

  :x:y:z相当于占位符即

  用:p:p:p是一样的

  用:x:x:x也是一样的

  需要的绑定变量按顺序排在执行语句后面就可以了into的除外

  不过还是用pp好些至少可以看出绑定了多少个变量




分享到:
评论

相关推荐

    在Java中实现Oracle变量的绑定方法 .doc

    在Java中实现Oracle变量的绑定方法 .doc 在Java中实现Oracle变量的绑定方法 .doc

    Oracle中Using用法

    Oracle 动态SQL介绍以及using用法示例

    基于Oracle的SQL优化 Part1

    《基于Oracle的SQL优化》从Oracle处理SQL的本质和原理入手,由浅入深、系统地介绍了Oracle数据库里的优化器、执行计划、Cursor和绑定变量、查询转换、统计信息、Hint和并行等这些与SQL优化息息相关的本质性内容,并...

    基于Oracle的SQL优化 Part2

    《基于Oracle的SQL优化》从Oracle处理SQL的本质和原理入手,由浅入深、系统地介绍了Oracle数据库里的优化器、执行计划、Cursor和绑定变量、查询转换、统计信息、Hint和并行等这些与SQL优化息息相关的本质性内容,并...

    Oracle11g从入门到精通2

    5.2.6 使用绑定变量 5.2.7 跟踪语句 5.3 设置SQL*Plus环境 5.3.1 SHOW命令 5.3.2 SET命令 5.4 SQL*Plus环境介绍 5.4.1 存储SQL*Plus环境 5.4.2 假脱机输出 5.4.3 联机帮助 5.5 使用SQL*Plus格式化...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    9.2 为什么说oltp必须要求变量绑定而olap不应该绑定变量 241 9.3 bind peaking 248 第10章 sql_trace和10046事件 254 10.1 sql_trace 254 10.2 tkprof工具 256 10.3 10046事件 268 第11章 10053事件 276 第12章 性能...

    Oracle11g从入门到精通

    5.2.6 使用绑定变量 5.2.7 跟踪语句 5.3 设置SQL*Plus环境 5.3.1 SHOW命令 5.3.2 SET命令 5.4 SQL*Plus环境介绍 5.4.1 存储SQL*Plus环境 5.4.2 假脱机输出 5.4.3 联机帮助 5.5 使用SQL*Plus格式化查询结果 ...

    centos7.7部署oracle12.2.0.1rac.docx

    方法一:使用sshUserSetup.sh快速创建互信 8 方法二:ssh-keygen建立互信 8 2.11 配置本地yum源 11 2.12 安装oracle需要的包 11 2.13 udev绑定磁盘 12 2.14 grid安装预检查 12 Swap比较小 12 /dev/shm问题 12...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     2.6.3 绑定变量  2.7自定义SQL*Plus环境  2.7.1 使用SHOW命令  2.7.2 使用SET命令  2.7.3 保存与定制SQL*Plus环境  2.8 格式化查询结果  2.8.1 格式化列  2.8.2 限制重复行  2.8.3 使用汇总行  ...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part1.rar

    9.2 为什么说oltp必须要求变量绑定而olap不应该绑定变量 241 9.3 bind peaking 248 第10章 sql_trace和10046事件 254 10.1 sql_trace 254 10.2 tkprof工具 256 10.3 10046事件 268 第11章 10053事件 276 第12章 性能...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。  JARED STILL 从1994年就开始使用...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    6.1.2 Oracle Net命名方法 6.1.3 Oracle Net工作原理 6.1.4 Oracle Net Listener工作原理 6.1.5 JDBC工作原理 6.2 Oracle高可用性连接组件 6.2.1 SCAN别名 6.2.2 SCAN监听器 6.2.3 SCAN解析 6.2.4 SCAN兼容...

    Oracle.11g.从入门到精通 (2/2)

    5.2.6 使用绑定变量 5.2.7 跟踪语句 5.3 设置SQL*Plus环境 5.3.1 SHOW命令 5.3.2 SET命令 5.4 SQL*Plus环境介绍 5.4.1 存储SQL*Plus环境 5.4.2 假脱机输出 5.4.3 联机帮助 5.5 使用SQL*Plus格式化查询结果 5.5.1 ...

    Oracle.11g.从入门到精通 (1/2)

    5.2.6 使用绑定变量 5.2.7 跟踪语句 5.3 设置SQL*Plus环境 5.3.1 SHOW命令 5.3.2 SET命令 5.4 SQL*Plus环境介绍 5.4.1 存储SQL*Plus环境 5.4.2 假脱机输出 5.4.3 联机帮助 5.5 使用SQL*Plus格式化查询结果 5.5.1 ...

    ORACLE SQL性能优化系列

    两个SQL语句中必须使用相同的名字的绑定变量(bind variables) 例如: 第一组的两个SQL语句是相同的(可以共享),而第二组中的两个语句是不同的(即使在运行时,赋于不同的绑定变量相同的值) a. select pin , ...

    for all 用法小结

    for all 用法小结详细谈了ORACLE 中的SQL 语句用法,绑定变量相关内容。值得一看。

    精通Oracle.10g.PLSQL编程

    使用复合数据类型 8.1 PL/SQL记录 8.1.1 定义PL/SQL记录 8.1.2 使用PL/SQL记录 8.2 PL/SQL集合 8.2.1 索引表 8.2.2 嵌套表 8.2.3 变长数组(VARRAY) 8.2.4 PL/SQL记录表...

Global site tag (gtag.js) - Google Analytics