728x90
반응형
SMALL

문제/SQL 28

231107 PL/SQL 문제

[문제] 사원들의 신규데이터 또는 급여를 수정할 때 그 사원의 job_id 별 최저 임금에서 최고 임금 사이에 급여값으로만 입력, 수정되어야 합니다. UPDATE hr.employees SET salary = 6000 WHERE employee_id = 115; 에러문구 "ERROE at line 1: ORA-20100 : Invalid salary $6000. Salaries for job PU_CLERK must be between $2500 and $5000" CREATE OR REPLACE TRIGGER hr.sal_trg AFTER INSERT OR UPDATE OF salary ON hr.employees FOR EACH ROW DECLARE v_min NUMBER; v_max NUMBER; ..

문제/SQL 2023.11.07

231106 PL/SQL 복습 겸 문제

[문제] 사원번호를 입력값으로 받아서 사원의 last_name 을 출력해주세요. hit) 패키지: 호출방식, 오버로드화(타입), exception(예외처리), 암시적커서 # 호출방식 execute emp_find.find(100) execute dbms_output.put_line(emp_find.find(100)); select employee_id, emp_find.find(employee_id) from employee_id; 내가 쓴 코드) create or replace package emp_find is type num_tab_type is table of number index by PLS_INTEGER; type var_tab_type is table of varchar2(30) index..

문제/SQL 2023.11.06

231103 PL/SQL 복습 겸 문제

[문제] 사원번호를 입력값으로 받아서 사번, 이름, 부서 이름을 출력하는 프로시저를 생성하세요. execute id_proc(p_id => 100); CREATE OR REPLACE PROCEDURE id_proc ( p_id IN NUMBER ) IS v_id number; v_name varchar2; v_dept_name varchar2; BEGIN SELECT e.employee_id, e.last_name, d.department_id INTO v_id, v_name, v_dept_name FROM hr.employees e, hr.departments WHERE e.department_id = d.department_id AND employee_id = p_id; dbms_output.put_..

문제/SQL 2023.11.06

231102 PL/SQL 문제

[문제] 사원번호를 입력값으로 받아서 그 사원의 근무 연수를 출력하고 근무 연수가 20년 이상이면 급여를 20% 인상한 급여로 수정, 20년 보다 작고 17년 보다 크거나 같으면 10%인상한 급여로 수정, 17년 미만인 근무자는 아무 작업을 수행하지 않는 프로그램을 작성하세요. (테스트가 끝나면 rollback 합니다.) BEGIN sal_update_proc(100); rollback; END; / 100 사원은 근무 연수가 20년 입니다. 이전 급여는 26400 수정된 급여는 31680 입니다. BEGIN sal_update_proc(103); rollback; END; / 103 사원은 근무 연수가 17년 입니다. 이전 급여는 9000 수정된 급여는 9900 입니다. BEGIN sal_update_..

문제/SQL 2023.11.02

231101 PL/SQL 복습 겸 문제

[문제] 사원들 중에 job_id가 'SA_REP' 사원들의 이름, 부서 이름을 출력하고 부서 배치를 받지 않는 사원에 대해서는 "부서 배치를 못 받았습니다." 출력해야 합니다. 또한 출력할때 카운터 수를 출력해주세요.(조인은 이용하지 마세요) HIT) SELECT문, 서브블록, 반복문, 로드, 암시적커서-예외처리 내가 쓴 코드) DECLARE e_raise EXCEPTION; -- 예외사항 변수 job hr.employees.job_id%TYPE; BEGIN FOR emp_rec IN ( SELECT last_name FROM hr.employees WHERE job_id = 'SA_REP') LOOP dbms_output.put_line('사원이름 : '||emp_rec.last_name); END ..

문제/SQL 2023.11.01

231031 PL/SQL 문제

[문제] 전체 사원 들의 사번, 이름, 급여, 입사일, 근무연수를 출력합니다. 또한 근무연수가 15년 이상이고 급여는 10000 미만인 사원들은 예외사항이 발생하도록 한 후 메시지 출력하고 프로그램 수행이 완료된 후에 분석할수있도록 years 테이블에 정보가 입력이 되도록 프로그램을 작성합니다. 근무연수는 소수점은 버리세요. SQL> create table years(id number, name varchar2(30), sal number, year number); .... 200, Whalen, 5856.4, 03/09/17, 20 사원 200 근무연수는 20년이고 급여는 5856.4 입니다. 201, Hartstein, 13000, 04/02/17, 19 202, Fay, 6000, 05/08/17,..

문제/SQL 2023.10.31

231031 복습 겸 문제

[문제] 2006년도에 입사한 사원들의 근무 도시이름별로 급여의 총액, 평균을 출력하세요. Southlake 도시에 근무하는 사원들의 총액 급여는 ₩13,800 이고 평균급여는 ₩6,900입니다. South San Francisco 도시에 근무하는 사원들의 총액 급여는 ₩37,800 이고 평균급여는 ₩2,907입니다. Seattle 도시에 근무하는 사원들의 총액 급여는 ₩7,800 이고 평균급여는 ₩7,800입니다. Seattle 도시에 근무하는 사원들의 총액 급여는 ₩2,600 이고 평균급여는 ₩2,600입니다. Oxford 도시에 근무하는 사원들의 총액 급여는 ₩59,100 이고 평균급여는 ₩8,442입니다. 내가 쓴 코드) SQL문SELECT l.city, SUM(e.salary), ROUND(AV..

문제/SQL 2023.10.31

231031 PL/SQL 복습 겸 문제

[문제] 2006년도에 입사한 사원들의 근무 도시이름별로 급여의 총액, 평균을 출력하세요. Southlake 도시에 근무하는 사원들의 총액 급여는 ₩13,800 이고 평균급여는 ₩6,900입니다. South San Francisco 도시에 근무하는 사원들의 총액 급여는 ₩37,800 이고 평균급여는 ₩2,907입니다. Seattle 도시에 근무하는 사원들의 총액 급여는 ₩7,800 이고 평균급여는 ₩7,800입니다. Seattle 도시에 근무하는 사원들의 총액 급여는 ₩2,600 이고 평균급여는 ₩2,600입니다. Oxford 도시에 근무하는 사원들의 총액 급여는 ₩59,100 이고 평균급여는 ₩8,442입니다. 1. 먼저, SELECT문으로 실행. SELECT city, sum(sum..

문제/SQL 2023.10.31

231030 PL/SQL 복습 겸 문제

[문제] 배열 변수에 있는 100, 101, 102, 103, 104, 200 사원들의 근무 연수를 출력하고 근무 연수가 20년 이상 되었으면 급여를 10% 인상한 급여로 수정하는 프로그램 작성하세요. 100는 근무 연수가 20년 입니다. 급여는 10% 인상되었습니다. 101는 근무 연수가 18년 입니다. 급여는 인상할 수 없습니다. ... 200는 근무 연수가 20년 입니다. 급여는 10% 인상되었습니다. SELECT trunc(months_between(sysdate, hire_date)/12) 근무연수 FROM hr.employees WHERE employee_id IN ( 100, 101, 102, 103, 104, 200) ; --배열변수로 변경 /* 배열 변수 사원중에서 근무 연수가 20년 이..

문제/SQL 2023.10.30
728x90
반응형
LIST