zoukankan      html  css  js  c++  java
  • 【oracle】绑定变量

    F 1130-02 绑定变量
    参考:
    oracle 绑定变量(bind variable)
    http://wenku.baidu.com/view/5ea5f1fa83d049649a665836.html?from=search
    使用绑定变量的一点点总结!
    http://wenku.baidu.com/view/9cd65005284ac850ad0242b0.html?from=search
    Oracle数据库的绑定变量特性及应用
    http://wenku.baidu.com/view/92be30c24028915f804dc280.html?from=search


    通过查看session的trace日志,可以查看sql和plsql的解析parse。
    1.打开session的trace日志
    alter session set sql_trace = true;
    2.根据sid找到会话的 spid 和 tracefile
    select
    s.sid,s.serial#,s.osuser,s.program,s.paddr,
    p.addr,p.spid,p.tracefile
    from v$session s,v$process p
    where p.addr = s.paddr
    and s.sid = 11;


    绑定变量的作用:重复使用执行计划
    【例1】动态绑定变量:用关键字 variable 声明的变量
    select distinct sid from v$mystat; --来自plustrace role 的权限
    alter session set sql_trace = true;

    set serveroutput on;
    1.定义
    variable vb_emp_id number;
    variable vb_cnt number;
    variable vb_statis_date number;
    variable vb_weekend number;
    2.赋值
    execute :vb_emp_id := 3;
    execute :vb_statis_date := 20151209;
    3.使用
    --3.1在DML语句中
    update tab_emp set emp_salary =emp_salary*1.2 where emp_id = :vb_emp_id;
    commit;
    --3.2在过程,方法参数中使用
    execute prc_getcnt(5,:vb_cnt);
    print vb_cnt; --使用print时,引用绑定变量无需带冒号
    execute dbms_output.put_line(':vb_cnt='||:vb_cnt);
    execute :vb_weekend := fnc_get_weekend(:vb_statis_date);
    print vb_weekend;

    alter session set sql_trace = false;


    【例2】静态绑定变量:oracle会自动转换为绑定变量的变量
    select distinct sid from v$mystat;
    alter session set sql_trace = true;

    set serveroutput on;
    declare
    vi_emp_id integer;
    vi_date integer;
    vi_weekend integer;
    begin
    vi_emp_id := 3; --1)PLSQL_BLOCK中的普通变量
    vi_date := 20151209;
    for i in -7..-1 loop
    vi_weekwend := fnc_get_weekend(vi_date+i); --2)参数数列表中的参数
    dbms_output.put_line('i='||i||',vi_date='||vi_date||',vi_weekend='||vi_weekend); --3)for循环中的循环计数器
    end loop;
    end;
    /

    alter session set sql_trace = false;


    TCP端口号范围 : 1024 ~ 65535

    tar解压到指定目录:使用参数 -C
    tar -zxvf 01.tar.gz -C ./zzh01

    PLSQL Developer 调试子程序:
    选中 子程序——右击——ReCompile
    选中 子程序——右击——Test
    Debug——Toggle Breakpoint

  • 相关阅读:
    zabbix添加自定义监控项
    文件的时间属性(摘自网友的博客)
    svn从Windows服务器上迁移到Linux上
    modelsim 保存波形文件
    Viso Professional 2013版本激活(office 系列产品 -- visio 2013 / project 2013 破解工具
    kindle paperwhite3 连不上WIFI解决方法
    TotoiseSVN的基本使用方法
    SVN 版本服务器搭配全过程详解(含服务端、客户端)
    modelsim读写TXT文件
    如何对多个文件进行MODELSIM仿真? (由于是一个很大的项目,不可能把所有MODULE都放在一个文件里。 如何在ModelSim中对多个.V文件进行仿真?)
  • 原文地址:https://www.cnblogs.com/greenZ/p/8721893.html
Copyright © 2011-2022 走看看