반응형
연습문제 sql은 모두 제가 직접 작성한 것이므로 오타, 오답이 존재할 수 있습니다.
궁금하신 점이 추가로 있을 시에는 문의하시면 최대한 답변드리겠습니다.
1. 테이블 EMP를 기본으로 SAL의 값을 변경하여 RESAL 테이블을 작성하는 PL/SQL 블록을 작성하여라.
1) 테이블 RESAL을 생성하여라.
칼럼명 | no | name | salary | resalary | dept |
DataType | num | v2 | num | num | num |
길이 | 4 | 10 | 7,2 | 8,2 | 2 |
[답]
resal 테이블 생성
create table resal
(no number(4),
name varchar2(10),
salary number(7, 2),
resalary number(8, 2),
dept number(2));
resal 테이블에 emp 테이블의 데이터를 복사합니다.
insert into resal(no, name, salary, resalary, dept)
select empno, ename, sal, sal, deptno
from emp;
2) 커서를 이용하여 다음과 같은 조건을 만족하는 프로그램 CONTROL을 작성하여라.
-EMP 테이블로부터 deptno = 10인 행들을 선택해서 resalary=sal*1.1의 상태로 입력
-EMP 테이블로부터 deptno = 20인 행들을 선택해서 resalary=sal*1.2의 상태로 입력
-EMP 테이블로부터 deptno = 30인 행들을 선택해서 resalary=sal*1.3의 상태로 입력
-EMP 테이블로부터 deptno = 40인 행들을 선택해서 resalary=sal*1.4의 상태로 데이터를 입력한다.
[답]
dms_output.put_line의 결과를 화면에 나타나게 하기 위한 환경변수입니다.
set serveroutput on
begin
update resal
set resalary = salary * 1.1
where dept = 10;
update resal
set resalary = salary * 1.2
where dept = 20;
update resal
set resalary = salary * 1.3
where dept = 30;
update resal
set resalary = salary * 1.4
where dept = 40;
dbms_output.put_line(SQL%ROWCOUNT || '명 사원의 급여가 수정되었습니다.');
end;
/
3) 실행시킨 결과를 확인하여라.
[답]
select *
from resal;
2. 테이블 EMP로부터 커미션이 NULL이 아닌 사원의 사원번호, 이름, 급여를 이름 기준 오름차순으로 정렬한 결과를 화면에 출력하여라.
[답]
select empno, ename, sal
from emp
where not (comm IS NULL)
order by ename;
궁금한 점이 있을 시 덧글 주시면 최대한 답글 드리겠습니다.
반응형
'연습 문제' 카테고리의 다른 글
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.344 ~ 345 (수정중) (0) | 2023.01.06 |
---|---|
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.334 (0) | 2023.01.05 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.298 (0) | 2023.01.04 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.226 (0) | 2023.01.03 |
예제 따라가며 쉽게 배우는 오라클 연습 문제 p.208 (0) | 2023.01.03 |
댓글