Q1)
--Q1
SET SERVEROUTPUT ON;
--FOR 문 사용식
BEGIN
FOR i IN 1..10 LOOP
CONTINUE WHEN MOD(i, 2) = 0;
DBMS_OUTPUT.PUT_LINE ('현재 i의 값 :' || i);
END LOOP;
END;
/
Q2)
DECLARE
V_DEPTNO DEPT.DEPTNO%TYPE := 10;
BEGIN
CASE V_DEPTNO
WHEN 10 THEN DBMS_OUTPUT.PUT_LINE ('DNAME : ACCOUNTING');
WHEN 20 THEN DBMS_OUTPUT.PUT_LINE ('DNAME : RESEARCH');
WHEN 30 THEN DBMS_OUTPUT.PUT_LINE ('DNAME : SALES');
WHEN 40 THEN DBMS_OUTPUT.PUT_LINE ('DNAME : OPERATIONS');
ELSE DBMS_OUTPUT.PUT_LINE ('N/A');
END CASE;
END;
/
Q1)
--Q1. 457P 문제
--1) 테이블 추가
CREATE TABLE EMP_RECORD AS SELECT * FROM EMP WHERE 1 !=1 ;
SELECT * FROM EMP_RECORD;
DESC EMP;
DECLARE
TYPE REC_EMP IS RECORD(
EMPNO EMP.EMPNO%TYPE ,
ENAME EMP.ENAME %TYPE,
JOB EMP.JOB%TYPE,
MGR EMP.MGR%TYPE,
HIREDATE EMP.HIREDATE%TYPE,
SAL EMP.SAL%TYPE,
COMM EMP.COMM%TYPE,
DEPTNO EMP.DEPTNO%TYPE
);
emp_record1 REC_EMP;
BEGIN
emp_record1.EMPNO := 1111;
emp_record1.ENAME := 'TEST_USER';
emp_record1.JOB := 'TEST_JOB';
emp_record1.MGR := NULL ;
emp_record1.HIREDATE := TO_DATE('180301','YY/MM/DD') ;
emp_record1.SAL := 3000;
emp_record1.COMM := NULL;
emp_record1.DEPTNO := 40;
INSERT INTO EMP_RECORD
VALUES emp_record1;
END;
/
--보기
SELECT * FROM EMP_RECORD;
Q2)
--Q2
--EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO
DECLARE
TYPE I_EMP IS TABLE OF EMP%ROWTYPE
INDEX BY PLS_INTEGER;
emp_arr I_EMP;
idx PLS_INTEGER := 0;
BEGIN
FOR i IN(SELECT * FROM EMP) LOOP
idx := idx+1;
emp_arr(idx).EMPNO := i.EMPNO;
emp_arr(idx).ENAME := i.ENAME;
emp_arr(idx).JOB := i.JOB ;
emp_arr(idx).MGR := i.MGR;
emp_arr(idx).HIREDATE := i.HIREDATE;
emp_arr(idx).SAL := i.SAL;
emp_arr(idx).COMM := i.COMM;
emp_arr(idx).DEPTNO := i.DEPTNO;
DBMS_OUTPUT.PUT_LINE (
emp_arr(idx).EMPNO || ' : ' || emp_arr(idx).ENAME || ' : '|| emp_arr(idx).JOB ||
' : ' ||emp_arr(idx).MGR ||
' : ' ||emp_arr(idx).HIREDATE ||
' : ' ||emp_arr(idx).SAL ||
' : ' ||emp_arr(idx).COMM ||
' : ' ||emp_arr(idx).DEPTNO
);
END LOOP;
END; /
728x90
반응형
LIST
'개인공부 정리 > 문제풀이' 카테고리의 다른 글
CP3 ~ CP5 문제 풀이 (0) | 2023.02.16 |
---|---|
0210 오라클 DB 문제풀이 - 커서와 예외처리, 트리거 (0) | 2023.02.10 |
0208 오라클 DB 문제풀이 - 제약 조건 및 사용자, 권한, 롤 관리 (0) | 2023.02.08 |
0207 오라클 DB 문제풀이 - 데이터 정의어, 객체 종류, 제약 조건 (0) | 2023.02.07 |
0206 오라클 DB 문제풀이 - 데이터 조작어 (INSERT, UPDATE), 트랜잭션 (0) | 2023.02.06 |