mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 11:34:05 +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;
 | |
| */
 | |
| /  |