mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-11-04 05:23:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
CREATE OR REPLACE PACKAGE BODY emp_mgmt AS 
 | 
						|
   tot_emps NUMBER; 
 | 
						|
   tot_depts NUMBER; 
 | 
						|
FUNCTION hire 
 | 
						|
   (last_name VARCHAR2, job_id VARCHAR2, 
 | 
						|
    manager_id NUMBER, salary NUMBER, 
 | 
						|
    commission_pct NUMBER, department_id NUMBER) 
 | 
						|
   RETURN NUMBER IS new_empno NUMBER;
 | 
						|
BEGIN 
 | 
						|
   SELECT employees_seq.NEXTVAL 
 | 
						|
      INTO new_empno 
 | 
						|
      FROM DUAL; 
 | 
						|
   INSERT INTO employees 
 | 
						|
      VALUES (new_empno, 'First', 'Last','first.last@oracle.com', 
 | 
						|
              '(123)123-1234','18-JUN-02','IT_PROG',90000000,00, 
 | 
						|
              100,110); 
 | 
						|
      tot_emps := tot_emps + 1; 
 | 
						|
   RETURN(new_empno); 
 | 
						|
END; 
 | 
						|
FUNCTION create_dept(department_id NUMBER, location_id NUMBER) 
 | 
						|
   RETURN NUMBER IS 
 | 
						|
      new_deptno NUMBER; 
 | 
						|
   BEGIN 
 | 
						|
      SELECT departments_seq.NEXTVAL 
 | 
						|
         INTO new_deptno 
 | 
						|
         FROM dual; 
 | 
						|
      INSERT INTO departments 
 | 
						|
         VALUES (new_deptno, 'department name', 100, 1700); 
 | 
						|
      tot_depts := tot_depts + 1; 
 | 
						|
      RETURN(new_deptno); 
 | 
						|
   END; 
 | 
						|
PROCEDURE remove_emp (employee_id NUMBER) IS 
 | 
						|
   BEGIN 
 | 
						|
      DELETE FROM employees 
 | 
						|
      WHERE employees.employee_id = remove_emp.employee_id; 
 | 
						|
      tot_emps := tot_emps - 1; 
 | 
						|
   END; 
 | 
						|
PROCEDURE remove_dept(department_id NUMBER) IS 
 | 
						|
   BEGIN 
 | 
						|
      DELETE FROM departments 
 | 
						|
      WHERE departments.department_id = remove_dept.department_id; 
 | 
						|
      tot_depts := tot_depts - 1; 
 | 
						|
      SELECT COUNT(*) INTO tot_emps FROM employees; 
 | 
						|
   END; 
 | 
						|
PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER) IS 
 | 
						|
   curr_sal NUMBER; 
 | 
						|
   BEGIN 
 | 
						|
      SELECT salary INTO curr_sal FROM employees 
 | 
						|
      WHERE employees.employee_id = increase_sal.employee_id; 
 | 
						|
      IF curr_sal IS NULL 
 | 
						|
         THEN RAISE no_sal; 
 | 
						|
      ELSE 
 | 
						|
         UPDATE employees 
 | 
						|
         SET salary = salary + salary_incr 
 | 
						|
         WHERE employee_id = employee_id; 
 | 
						|
      END IF; 
 | 
						|
   END; 
 | 
						|
PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER) IS 
 | 
						|
   curr_comm NUMBER; 
 | 
						|
   BEGIN 
 | 
						|
      SELECT commission_pct 
 | 
						|
      INTO curr_comm 
 | 
						|
      FROM employees 
 | 
						|
      WHERE employees.employee_id = increase_comm.employee_id; 
 | 
						|
      IF curr_comm IS NULL 
 | 
						|
         THEN RAISE no_comm; 
 | 
						|
      ELSE 
 | 
						|
         UPDATE employees 
 | 
						|
         SET commission_pct = commission_pct + comm_incr; 
 | 
						|
      END IF; 
 | 
						|
   END; 
 | 
						|
END emp_mgmt;
 | 
						|
/*
 | 
						|
PROCEDURE commented_func(employee_id NUMBER, comm_incr NUMBER) IS 
 | 
						|
   curr_comm NUMBER; 
 | 
						|
   BEGIN 
 | 
						|
      SELECT commission_pct 
 | 
						|
      INTO curr_comm 
 | 
						|
      FROM employees 
 | 
						|
      WHERE employees.employee_id = increase_comm.employee_id; 
 | 
						|
      IF curr_comm IS NULL 
 | 
						|
         THEN RAISE no_comm; 
 | 
						|
      ELSE 
 | 
						|
         UPDATE employees 
 | 
						|
         SET commission_pct = commission_pct + comm_incr; 
 | 
						|
      END IF; 
 | 
						|
   END; 
 | 
						|
END emp_mgmt;
 | 
						|
*/
 | 
						|
/  |