光标的实例

光标的具体案例

按照员工的职位涨工资,总裁涨1000元,经理涨800元,其他人员涨400元。

代码

--按照员工的职位涨工资,总裁涨1000元,经理涨800元,其他人员涨400元。

SET SERVEROUTPUT ON

DECLARE
    --定义光标代表给哪些员工涨工资
    cursor cemp is select employee_id,job_title from EMPLOYEES,JOBS where EMPLOYEES.JOB_ID = JOBS.JOB_ID;
    pempno EMPLOYEES.employee_id%type;
    pjob JOBS.JOB_TITLE%TYPE;
    
BEGIN
    --打开光标
    open cemp;
    
    loop
    --取出一个员工
    FETCH cemp into pempno,pjob;
    exit when cemp%notfound;
    
    --判断员工职位
    if pjob = 'President' then update EMPLOYEES SET SALARY = SALARY - 1000 WHERE employee_id = pempno;
        elsif pjob = 'Finance Manager' then update EMPLOYEES SET SALARY = SALARY - 800 WHERE employee_id = pempno; 
        else update EMPLOYEES SET SALARY = SALARY - 400 WHERE employee_id = pempno;
    end if;
    
    end loop;
    
    --关闭光标
    close cemp;
    
    --对于oracle,默认的事务隔离级别是 read committed
    --事务的ACID 即:原子性、一致性、隔离性、持久性
    COMMIT;
    
    DBMS_OUTPUT.PUT_LINE('涨工资完成');

end;
/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我不喜欢把这些心情冠以爱的名号,爱在我心中太过重了,必须是一心一意,纯洁、美丽。可是暗恋,不,连暗恋都算不上,暗暗...
    阿毛阅读 324评论 0 1
  • A我今天学到了什么 一.html的分类 1.块标签 2.内联标签 3.内联块标签 二.让内联元素和内联块元素水平居...
    孔子曰_f425阅读 263评论 0 0
  • 我不想要孤独 不要美化它 孤独从来都不会让我更坚强 只会让我更彷徨 孤独让我不似完整 惊惧犹疑 冒充勇士 想要又推...
    pror阅读 516评论 1 0
  • 龙找了又找,才发现了不对头,玉兰是一个很守时的小姑娘,怎么会晚到呢?再说玉兰的方向感也很好,不应该会迷路呀?他又...
    阿团SAMA阅读 250评论 0 3
  • 盒模型属性有:margin、padding、border、content 如图所示:W3C盒模型的width指的是...
    sdcV阅读 1,360评论 0 1