Pl/SQL 包含年薪计算功能的包

Pl/SQL package including yearly salary calculation function

我需要帮助在 PL/SQL 中创建一个包,如下所示: 包含一个函数和一个过程的包。函数计算特定员工的年薪,并使用过程将年薪插入另一个具有员工 ID 的 table。 这是我试过但我不知道如何添加一个程序来插入我的值 进入 "particular_emp" table

CREATE TABLE particular_emp (
  salary string NOT NULL,
  emp_id NUMBER NOT NULL
);

CREATE OR REPLACE PACKAGE salary IS
CREATE OR REPLACE FUNCTION get_yearly_salary(p_sal  IN employees.salary%TYPE,
                                             p_comm IN employees.commission_pct%TYPE)
  RETURN NUMBER IS
  BEGIN
    RETURN (NVL(p_sal, 0) * 12 + (NVL(p_comm, 0) * nvl(p_sal, 0) * 12));
  END get_yearly_salary;

这是我的做法及其工作原理!

CREATE OR REPLACE PACKAGE empinfo
IS
FUNCTION YSALARY(p_empno IN NUMBER) RETURN NUMBER;
PROCEDURE INSERTSAL (p_empno IN NUMBER);
END empinfo;
/


CREATE OR REPLACE PACKAGE BODY empinfo is
FUNCTION YSALARY(p_empno IN NUMBER) RETURN NUMBER IS
vsal INTEGER;
BEGIN
vsal :=200;
vsal :=200*12;
EXCEPTION 
WHEN NO_DATA_FOUND
THEN
DMBS_OUTPUT.PUT_LINE('NO DATA is available');
END;
PROCEDURE INSERTSAL(p_empno IN NUMBER) is
BEGIN
INSERT INTO EMPLOYEESALARY
VALUES(200,YSALARY(1));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
DBMS_OUTPUT.PUT_LINE('NO DATA');
END;
END empinfo;
/