본문 바로가기
연습 문제

예제 따라가며 쉽게 배우는 오라클 연습 문제 p.298

by 알기 쉬운 코딩 사전 2023. 1. 4.
반응형

연습문제 sql은 모두 제가 직접 작성한 것이므로 오타, 오답이 존재할 수 있습니다.

궁금하신 점이 추가로 있을 시에는 문의하시면 최대한 답변드리겠습니다.

 

1. 구구단을 작성하는 PL/SQL 블록을 작성하여라.

 

1) 테이블 GUDAN을 생성하여라.

칼럼명 dan gop su eq hap
DataType num char num char num
길이 2 1 1 1 3
default 값   *   =  

 

[답]

create table gudan
(dan number(2),
gop char(1) default '*',
su number(1),
eq char(1) default '=',
hap number(3));

 

2) DAN(단)을 치환변수로 입력받아 구구단을 구하는 프로그램을 작성하여라.

 

[답]

declare
        v_dan number(2) := ∈
    begin
        for i in 1..9 loop
            insert into gudan(dan, su, hap)
            values(v_dan, i ,v_dan*i);
        end loop;
    end;
/

7

 

3) 실행시킨 결과를 확인하여라.

 

[답]

select *
from gudan;

 

2. emp 테이블로부터 SMITH의 부서번호를 조회하여 그 부서번호에 해당하는 부서명을 dept 테이블로부터 찾아 사원이름, 부서번호를 화면에 출력하는 블록을 작성하여라.

 

[답]

dms_output.put_line의 결과를 화면에 나타나게 하기 위한 환경변수입니다.
set serveroutput on

declare
        v_ename emp.ename%type;
        v_deptno emp.deptno%type;
        v_dname dept.dname%type;
    begin
        select ename, deptno
        into v_ename, v_deptno
        from emp
        where ename = 'SMITH';
        select dname
        into v_dname
        from dept
        where deptno = v_deptno;
        dbms_output.put_line('사원이름 : ' || v_ename);
        dbms_output.put_line('부서이름 : ' || v_dname);
    end;
/

 

+) 다음 테이블을 완성하는 PL/SQL 블록을 작성하여라.

 

1) 테이블 BAESU학번을 생성하여라.

 

칼럼명 baesu2 baesu3 baesu4 baesu5 hap
DataType num num num num num
길이 2 2 2 2 3

 

[답]

create table baesu
(baesu2 number(2),
baesu3 number(2),
baesu4 number(2),
baesu5 number(2),
hap number(3));

 

2) 1행 부터 9행까지 입력하는 프로그램을 작성하여라.

 

[답]

declare
        v_hap number(3) := 0;
        v_baesu2 number(2) := 0;
        v_baesu3 number(2) := 0;
        v_baesu4 number(2) := 0;
        v_baesu5 number(2) := 0;
	begin
    	for i in 1..9 loop
            v_baesu2 := i*2;
            v_baesu3 := i*3;
            v_baesu4 := i*4;
            v_baesu5 := i*5;
            v_hap := v_baesu2 + v_baesu3 + v_baesu4 + v_baesu5;
            insert into baesu
            values(v_baesu2, v_baesu3, v_baesu4, v_baesu5, v_hap);
        end loop;
    end;
/

 

3) 실행시킨 결과를 확인하여라.

 

[답]

select *
from baesu;

 

궁금한 점이 있을 시 덧글 주시면 최대한 답글 드리겠습니다.

 

반응형

댓글