little-cyy 2019-01-13 15:41 采纳率: 0%
浏览 477

怎么调用函数为所有员工加薪?

问题:创建一个函数,为某个员工按照一定的百分比进行加薪,并返回加薪后的
工资。该函数有两个IN的参数, 员工编号和加薪幅度。
在另一个过程里调用上面的函数为所有员工加薪10%

CREATE OR REPLACE FUNCTION get_sal (
  p_emp_id  employees.employee_id%TYPE,
  p_percent NUMBER)   RETURN NUMBER IS
  v_salary employees.salary%TYPE; 
BEGIN
  UPDATE employees
    SET salary=(1+p_percent/100)*salary 
    WHERE employee_id= p_emp_id;
  SELECT salary INTO v_salary FROM employees
    WHERE employee_id= p_emp_id;
   DBMS_OUTPUT.PUT_LINE('员工'|| p_emp_id ||'加薪后的工资是');
  RETURN v_salary ;
END get_sal;


函数已经创建好了,过程的详细代码写不出

求大神帮助!!!!!!

  • 写回答

1条回答 默认 最新

  • little-cyy 2019-01-14 16:23
    关注

    用到游标,过程代码:

    create or replace PROCEDURE get_allsal IS
      CURSOR emp_cur IS
      SELECT * FROM employees;
    v_emp_id employees.employee_id%TYPE;
    BEGIN 
      FOR emp_rec IN emp_cur LOOP
         v_emp_id:=emp_rec.employee_id;
         DBMS_OUTPUT.PUT_LINE(get_sal(v_emp_id,10)); 
            END LOOP;
    END get_allsal;
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退