나의 생각을 끄적이는 공간

블로그 이미지

Wooni0477

카테고리

  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

Oracle 기본정리 - Declare, Procedure 문제

프로그래밍 정리/Oracle 2019. 12. 4. 16:25
반응형

Oracle 기본정리 - Declare, Procedure 문제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
--문제1
--exec proc3(7788);
--레퍼런스
--사원번호:
--사원명:
--입사일:
---급여:
 
--desc emp;
 
 
create or replace procedure proc3(eno emp.empno%type)
is
    vempno emp.empno%type;
    vename emp.ename%type;
    vhiredate emp.hiredate%type;
    vsal emp.sal%type;
begin
    select empno,ename,hiredate,sal into vempno,vename,vhiredate,vsal
    from emp
    where empno=eno;
       
  
    dbms_output.put_line('값이 있습니다.');
    dbms_output.put_line('vempno : '|| vempno);
    dbms_output.put_line('vename : ' || vename);
    dbms_output.put_line('vhiredate : ' || vhiredate);
    dbms_output.put_line('vsal : '|| vsal);
  
    exception       --no data에 대한 예외 잡기
    when no_data_found then dbms_output.put_line('값이 없습니다!');
end;
 
exec proc3(7782);
 
--------------------------------------------------------------------
--프로시저 계산
create or replace procedure proc4(a number,b number)
is
    begin
        dbms_output.put_line(a/b);
    exception when ZERO_DIVIDE then  dbms_output.put_line('0으로 나눌수 없습니다.');
    end;
   
execute proc4(10,2);
execute proc4(10,0);
   
----------------------------------------------------------------------
--레퍼런스로 배열 받기
create or replace procedure proc5(a number)
is
    emp_rec emp%rowtype;
    begin
        select * into emp_rec
        from emp
        where empno=a;
       
        dbms_output.put_line(emp_rec.empno);
        dbms_output.put_line(emp_rec.ename);
        dbms_output.put_line(emp_rec.sal);
        exception when NO_DATA_FOUND then dbms_output.put_line('데이터가 없습니다.');
    end;
 
execute proc5(7781);
 
---------------------------------------------------
--프로시저 배열로 선언하기
create or replace procedure proc6(a number)
is
    TYPE emp_rec_type IS RECORD(empno emp.empno%TYPE
                                ,sal emp.sal%TYPE
                                ,hiredate emp.hiredate%type);
    v_emp_rec emp_rec_type;
    begin
        select empno,sal,hiredate into v_emp_rec
        from emp
        where empno=a;
       
        dbms_output.put_line(v_emp_rec.empno);
        dbms_output.put_line(v_emp_rec.sal);
        dbms_output.put_line(v_emp_rec.hiredate);
       
    end;
 
execute proc6(7782);
 
------------------------------------------------------------------------
--문제1
--empno ename job sal deptno
--rec 타입 만들기
 
create or replace procedure proc7(a number)
is
    TYPE emp_REC_TYPE is RECORD(empno emp.empno%TYPE
                                ,ename emp.ename%TYPE
                                ,job emp.job%TYPE
                                ,sal emp.sal%TYPE
                                ,deptno emp.deptno%TYPE
                                );
    v_emp_rec emp_REC_TYPE;
    begin
        select empno,ename,job,sal,deptno into v_emp_rec
        from emp
        where empno=a;
       
        dbms_output.put_line(v_emp_rec.empno);
        dbms_output.put_line(v_emp_rec.ename);
        dbms_output.put_line(v_emp_rec.job);
        dbms_output.put_line(v_emp_rec.sal);
        dbms_output.put_line(v_emp_rec.deptno);
       
       
        exception when NO_DATA_FOUND then dbms_output.put_line('데이터가 없습니다.');
    end;
 
exec proc7(7781);
Colored by Color Scripter
cs
반응형
저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 정리 > Oracle' 카테고리의 다른 글

Oracle 기본정리 - Cursor 예제  (0) 2019.12.04
Oracle 기본정리 - Procedure(if,for,while,in,out 예제)  (0) 2019.12.04
Oracle 기본정리 - Declare, Procedure 기본  (0) 2019.12.04
Oracle 기본정리 - 인덱스(Index)  (0) 2019.12.04
Oracle 기본정리 - 시퀀스(sequence)  (0) 2019.12.04
Posted by Wooni0477
방명록 : 관리자 : 글쓰기
Wooni0477's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

나의 생각을 끄적이는 공간

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바