如:
 SELECT MM_DISTRIBUTION.BATCH_ID,
               MM_DISTRIBUTION.REQUIREMENT_ITEM_ID,
               MM_DISTRIBUTION.WAREHOUSE_ID,
               MM_DISTRIBUTION.WAREHOUSE_FULL_NAME
          FROM MM_DISTRIBUTION
         WHERE DATA_AREA like     :9
           AND USABLE_QTY > 0
           AND MM_DISTRIBUTION.MATERIAL_ID = :10
           AND (MM_DISTRIBUTION.USAGE = :11 OR MM_DISTRIBUTION.USAGE = :12 OR
               MM_DISTRIBUTION.USAGE = :13 OR MM_DISTRIBUTION.USAGE = :14 OR MM
                _DISTRIBUTION.USAGE = :15 OR MM_DISTRIBUTION.USAGE = :16))
以上都有“:”符号,都代表什么意思呀?

解决方案 »

  1.   

    百度搜索: oracle绑定变量    
    咋可能没答案
      

  2.   

    绑定变量的形式.
    绑定变量是为了减少解析的,比如你有个语句这样
    select aaa,bbb from ccc where ddd=eee;
    如果经常通过改变eee这个谓词赋值来查询,像如下
    select aaa,bbb from ccc where ddd=fff;
    select aaa,bbb from ccc where ddd=ggg;
    select aaa,bbb from ccc where ddd=hhh;
    每条语句都要被数据库解析一次,这样比较浪费资源,如果把eee换成“:1”这样的绑定变量形式,无论ddd后面是什么值,都不需要重复解析
    如果你用数据仓库,一条大查询一跑几个小时,根本没必要做绑定变量,因为解析的消耗微乎其微,而且绑定变量对优化器判断执行路径也有负面影响。