我需要帮助在PL / SQL中创建一个包,如下所示: 包含一个函数和一个过程的包。函数计算特定员工的年薪,并使用过程将年薪插入另一个具有员工ID的表中。 这是我尝试但我不知道如何添加插入我的值的过程 进入"特定_emp"表
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;
答案 0 :(得分:0)
以下是我的表现及其工作方式!
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;
/