zoukankan      html  css  js  c++  java
  • PL/SQL编程基础

    CURSOR 游标

    游标属性:
    cur_tmp%found 至少影响到一行数据为true;
    cur_tmp%notfound 与%found相反
    cur_tmp%rowcount 返回受SQL语句影响的行数
    cur_tmp%isopen 游标打开时为true

     

    • 显示 cursor
    --显示cursor
    set serveroutput on
    declare
    cursor cur_emp(var_name in varchar2:='lili')
    is select cust_no,cust_name,address from t_cscustomer where cust_name like var_name||'%';
    type record_emp is record
    (
    var_empno t_cscustomer.cust_no%type,
    var_empname t_cscustomer.cust_name%type,
    var_empaddress t_cscustomer.address%type
    );
    emp_row record_emp;
    begin
     DBMS_OUTPUT.ENABLE(buffer_size => null);    --表示输出buffer不受限制
     open cur_emp('');
     fetch cur_emp into emp_row;
     while cur_emp%found loop
      dbms_output.put_line(emp_row.var_empname||'的编号是'||emp_row.var_empno||',地址是'||emp_row.var_empaddress);
      fetch cur_emp into emp_row;
     end loop;
     close cur_emp;
    end;
    /
    • for 中使用cursor 不用进行打开游标、读取游标、关闭游标 oracle内部自动完成
    declare
    cursor cur_emp 
    is 
    select cust_name var_ename,linkphone var_phone,address var_sal from t_cscustomer where address like '%招南%0402室%';
    begin
     DBMS_OUTPUT.ENABLE(buffer_size => null);    --表示输出buffer不受限制
     for empinfo in cur_emp loop
      dbms_output.put_line('雇员'||empinfo.var_ename||'的电话是'||empinfo.var_phone||'、地址是'||empinfo.var_sal);
     end loop;
    end;
    /

     

    • 自定义异常
    --自定义异常
    declare
    v_num number := 0;
    myexc exception; --定义一个异常变量 begin v_num := 1 + 1;
    raise myexc;
    exception when myexc then dbms_output.put_line('自定义异常');
    retrun;
    end; /
    • 存储过程、函数、触发器、包
  • 相关阅读:
    关闭弹出窗体,刷新父页面
    Oracle 导出部分表结构,以及导入
    ORCLE报错解决(ora01747:无效的用户.表.列,表.列)
    PL/SQL Developer使用技巧
    自定义table
    Array查询数组中是否包含指定字符
    水晶报表去掉多余小数点
    HttpHandler HttpModule入门篇
    窗口类名无效 错误 解决方法
    2020.10.15
  • 原文地址:https://www.cnblogs.com/bors/p/plsql.html
Copyright © 2011-2022 走看看