易截截图软件、单文件、免安装、纯绿色、仅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字符集修改问题

 经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现在我将oracle字符集相关的一些知识做个简单总结,希望对大家今后的工作有所帮助。
  一、什么是oracle字符集
  Oracle字符集是一个字节数据的解释 ......

Oracle删除重复行传智播客

 查询及删除重复记录的SQL语句
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据 ......

Oracle的几个集合操作

 
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
可以在最 ......

Oracle中USERENV和SYS_CONTEXT总结[转]

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

oracle的归档模式

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