본문 바로가기

빅데이터과정/PL/SQL

#10_140626_PL_SQL_RECORD

728x90

# RECORD


조합 데이터 타입의 2가지 종류
레코드(record)
컬렉션(collection)





문제51. 사원번호를 물어보게 하고 사원번호를 입력하면 해당 사원의 모든 컬럼의 정보가 emp745 테이블에 입력되게 하는 PL/SQL을 작성하시오

accept p_empno prompt '사원번호를 입력하시오! '
declare
 v_empno emp.empno%TYPE := &p_empno;
 v_emp emp%ROWTYPE;
BEGIN
 SELECT * INTO v_emp
 FROM EMP
 WHERE empno=v_empno;
INSERT INTO emp745 VALUES v_emp;
end;


/


문제55. 책 6-16쪽을 보고 사원 번호를 물어보게 하고 사원번호를 입력하면 해당 사원에 대한 정보를emp 테이블에서 읽어서 emp745 테이블에 갱신되게 하시오

accept p_empno prompt '사원번호를 입력하시오! '
declare
 v_empno emp.empno%TYPE := &p_empno;
 v_emp emp%ROWTYPE;
BEGIN
 SELECT * INTO v_emp
 FROM EMP
 WHERE empno = v_empno;
 UPDATE emp745
 SET ROW = v_emp
 WHERE empno = v_empno;
END;
/

문제56. dept 테이블과 똑같은 dept907 테이블을 생성하고 부서번호를 물어보게 하고 부서번호를 입력하면 해당 부서번호에 속하는 부서번호부서위치부서명이 dept907 테이블에 갱신되게 하는데 부서위치를 무조건 WASHINGTON 으로 갱신되게하시오

accept p_deptno prompt '부서번호를 입력하시오! '
declare
 v_deptno dept.deptno%TYPE := &p_deptno;
 v_dept dept%ROWTYPE;
BEGIN
 SELECT * INTO v_dept
 FROM dept
 WHERE deptno = v_deptno;
 v_dept.loc := 'WASHINGTON';
 UPDATE dept907
 SET ROW = v_dept
 WHERE deptno = v_deptno;
END;


/


'빅데이터과정 > PL/SQL ' 카테고리의 다른 글

#10_140626_PL_SQL_CURSOR  (0) 2014.07.14
#10_140626_PL_SQL_중첩 테이블  (0) 2014.07.14
#10_140626_PL_SQL_LABEL  (0) 2014.07.14
#12_140630_PL_SQL_PROCEDURE  (0) 2014.07.14
#10_140626_PL_SQL_FOR 문  (0) 2014.07.14