⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5.34.txt

📁 delphi renyuanguanlixinxioxitong
💻 TXT
字号:
CREATE OR REPLACE PACKAGE BODY emp_package IS
--创建私有函数,判断部门号是否存在,是返回TRUE,否则返回FALSE
FUNCTION pri_deptno(v_deptno VARCHAR2) RETURN BOOLEAN IS
  v_temp department.departmentno%TYPE;
BEGIN
  SELECT departmentno INTO v_temp FROM department WHERE departmentno=v_deptno;
  RETURN TRUE;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
  RETURN FALSE;
END pri_deptno;
--编写公共过程和函数的执行部分
--增加员工记录过程
PROCEDURE add_employee (eno VARCHAR2,name VARCHAR2,deptno VARCHAR2,
 sex VARCHAR2 DEFAULT '男',edate DATE,wdate DATE,
 natno VARCHAR2,pno VARCHAR2,esal NUMBER,ecomm NUMBER)
IS
BEGIN
  IF pri_deptno(deptno) THEN
     INSERT INTO employee VALUES(eno,name,deptno,sex,edate,wdate,
     natno,pno,esal,ecomm);
  ELSE
     raise_application_error(-20010,'部门不存在!');
  END IF; 
EXCEPTION
  WHEN DUP_VAL_ON_INDEX THEN
     raise_application_error(-20011,'员工号不能重复!');
END add_employee;
--删除员工记录过程
PROCEDURE fire_employee(eno VARCHAR2) IS
BEGIN
  DELETE FROM employee WHERE employeeno=eno;
  IF SQL%NOTFOUND THEN
     raise_application_error(-20012,'该雇员不存在');
  END IF;
END;
--通过员工姓名获得员工工资函数
FUNCTION get_sal(name VARCHAR2) RETURN NUMBER AS
   v_sal employee.sal%TYPE;
 BEGIN
   SELECT sal INTO v_sal FROM employee WHERE trim(employeename)=trim(name);
   RETURN(v_sal);
 EXCEPTION
   WHEN NO_DATA_FOUND THEN
     raise_application_error(-20000,'该员工不存在!');
 END get_sal;
END emp_package;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -