설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • 패스트캠퍼스
    • 404 error
    • 크로스도메인
    • Kafka
    • angular callback
    • Redis
    • mongodb
    • angular4
    • docker
    • INVALID
    • jquery invalid
    • angular 콜백
    • flex
    • page not found
    • RESTful
    • MYSQL
    • Angular
    • CORS
    • jOOQ
    • angular2

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Other/DB

    PL/SQL SQL PLUS상에서 STORED PROCEDURE 소스 확인 방법

    2012. 8. 14. 15:32

    ◎ SQL PLUS상에서 STORED PROCEDURE 소스 확인 방법

    ◆ 
    USER_SOURCE 데이터 사전을 이용하면 됩니다.
     
      -- USER_SOURCE의 구조를 살펴보면
      SQL>
     DESC USER_SOURCE
       
            이름            유형
    ------------- ------------------
            NAME          VARCHAR2(30)
            TYPE          VARCHAR2(12)
            LINE            NUMBER
            TEXT          VARCHAR2(4000)
     
     - 
    NAME : procedure, function, package의 이름을 가지고 있습니다.
     - 
    TYPE :  function, package, package body, procedure인지 알수 있습니다.
     - 
    LINE : function, package, package body, procedure의 라인을 보여줍니다.
     - 
    TEXT : function, package, package body, procedure의 소스를 알 수 있습니다.
      
    -- 어떤 프로시져들이 존재하는지 확인 
    SQL> SELECT DISTINCT
    (name) FROM USER_SOURCE WHERE TYPE = 'PROCEDURE'; -- TYPE은 대소문자 구별!! 반드시 대문자로 써줄것!

     
    NAME
    ------------------------------
    FORCURSOR_TEST
    IMPLICIT_CURSOR
     
    -- 프로시져 소스의 확인
    SQL> SELECT 
    text FROM USER_SOURCE WHERE name='FORCURSOR_TEST'; -- 프로시저 이름은 대소문자 구별!! 반드시 대문자로 써줄것!

     -- 쿼리 결과
         PROCEDURE ForCursor_Test
            IS

            CURSOR dept_sum IS
            SELECT b.dname, COUNT(a.empno) cnt, SUM(a.sal) salary
            FROM emp a, dept b
            WHERE a.deptno = b.deptno
            GROUP BY b.dname;
         BEGIN
           -- Cursor를 FOR문에서 실행시킨다
           FOR emp_list IN dept_sum LOOP
              DBMS_OUTPUT.PUT_LINE('부서명 : ' || emp_list.dname);
              DBMS_OUTPUT.PUT_LINE('사원수 : ' || emp_list.cnt);
              DBMS_OUTPUT.PUT_LINE('급여합계 : ' || emp_list.salary);
           END LOOP;
       EXCEPTION
           WHEN OTHERS THEN
              DBMS_OUTPUT.PUT_LINE(SQLERRM||'에러 발생 ');
       END;
     
    18 개의 행이 선택되었습니다.
    ================================================ 
        * 오라클 정보공유 커뮤니티 oracleclub.com 
        * http://www.oracleclub.com 
        * http://www.oramaster.net 
        * 운영자 : 김정식 (oramaster _at_ naver.com)
      ================================================

    [출처] [PL/SQL] SQL PLUS상에서 STORED PROCEDURE 소스 확인 방법 |작성자 쥬



    http://blog.naver.com/urmyeternity/60042418419

    저작자표시 (새창열림)

    'Other > DB' 카테고리의 다른 글

    [MAC] h2 database 연결 오류(90149)  (3) 2019.11.25
    Toad Editor 단축키  (0) 2012.08.20
    PL/SQL 프로시저 (procedure)  (0) 2012.08.14
    MySQL : 해당 필드에 중복된 값 찾기  (0) 2012.06.15
    mysql - DATE_FORMAT & TIME_FORMAT  (1) 2012.06.12
      'Other/DB' 카테고리의 다른 글
      • [MAC] h2 database 연결 오류(90149)
      • Toad Editor 단축키
      • PL/SQL 프로시저 (procedure)
      • MySQL : 해당 필드에 중복된 값 찾기
      설 연수
      설 연수

      티스토리툴바