易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 笔记 VI 之游标 (CURSOR)

 游标(CURSOR),很重要
游标:用于处理多行记录的事务
游标是一个指向上下文的句柄(handle)或指针,简单说,游标就是一个指针
1 处理显式游标
  显式游标处理需 4个 PL/SQL 步骤,显示游标主要用于处理查询语句
  (1) 定义游标
  格式:  CURSOR cursor_name [(partment[,parameter]...)] IS select_statement;
   定义的游标不能有 INTO 子句
  (2) 打开游标
   OPEN cursor_name[...];
  PL/SQL 程序不能用 OPEN 语句重复打开一个游标
  (3)提取游标数据
   FETCH cursor_name INTO {variable_list | record_variable};
  (4) 关闭游标
   CLOSE cursor_name;
  例 1 查询前 10 名员工的信息  
   declare
    --定义游标
    cursor c_cursor is select last_name,salary  from employees where rownum < 11 order by salary;
    v_name employees.last_name%type;
    V_sal employees.salary%type;
 
    begin
      --打开游标
      open c_cursor;
      -- 提取游标数据
      fetch c_cursor into v_name,v_sal;
       while c_cursor %found loop
             dbms_output.put_line(v_name || ':' || v_sal);
             fetch c_cursor into v_name,v_sal;
        end loop;
  
       --关闭游标
       close c_cursor;
   end;
----------------------------------
 练习: 输入部门号 dep_id,查询该部门的平均工资 : avg_sal,员工工资为 salary
       若 salary < avg_sal - 500 工资涨 500
       若 avg_sal - 500 <= salary < avg_sal + 500 工资涨 300
       若


相关文档:

Oracle时间类型数据为0的Bug

开发组在数据迁移时,报告发现一些数值为'0000/00/00'的date数据,导致数据迁移失败。
这个问题有点奇怪,因为在Oracle中,date类型的数据的取值范围是从-4712/12/31到9999/12/31之间,并且年份不能为0。也就是说'0000/00/00'是一个非法数据,不为Oracle所接受。
 
SQL> select to_date('0000-00-00', 'yyyy-mm- ......

oracle 笔记 III 之存储过程与函数

DML(Manipulation):数据操作语言
CRUD
DDL(Definition): 数据定义语言,与表,索引,同义词有关
create,alter,drop,rename,truncate(清空)
DCL(Control): 数据控制语言,与权限有关
grant,revoke
TCL(Transaction Control): 事务控制语言,与事务有关
commit,rollback,savepoint
==========================
存储 ......

Oracle中USERENV和SYS_CONTEXT总结[转]

 
Oracle中USERENV和SYS_CONTEXT用来返回当前session的信息,其中,userenv是为了保持向下兼容的遗留函数,推荐使用sys_context函数调用userenv命名空间来获取相关信息。
1、 USERENV(OPTION)
  返回当前的会话信息.
  OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE.
  OPTION='LANGUAGE'返回数据库的 ......

Oracle恢復意外刪除的數據

 1. flashback table table_test to timestamp to_timestamp('20091103000000','yyyymmddhh24miss');
 2.如果報錯ORA-08189: cannot flashback the table because row movement is not enabled
 3.alter table table_test enable row movement;
 4.OK ......

oracle的归档模式

一。查看oracle数据库是否为归档模式:
1.select name,log_mode from v$database;
NAME               LOG_MODE
------------------ ------------------------
QUERY           NOARCHIVELO ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号