Oracle 저장 프로시저

더 읽 기
개술
Oracle 저장 프로 세 스 개발 의 요점 은:
•Notepad 텍스트 편집 기 를 사용 하여 Oracle PL/SQL 프로 그래 밍 언어 로 저장 과정 을 작성 합 니 다.
•Oracle 데이터베이스 에 저장 프로 세 스 를 만 듭 니 다.
•Oracle 데이터베이스 에서 SQL*Plus 도 구 를 사용 하여 저장 과정 을 실행 합 니 다.
•Oracle 데이터베이스 에서 저장 과정 을 수정 합 니 다.
•컴 파일 오류 디 버 깅 저장 과정 을 통 해;
•저장 프로시저 삭제;
환경 설정
다음 내용 포함:
•텍스트 편집기 Notepad;
•Oracle SQL*Plus 도구,Oracle SQL 과 PL/SQL 문 구 를 Oracle database 에 제출 합 니 다.
•Oracle 10g express 데이터 베 이 스 는 무료 로 사용 하 는 버 전 입 니 다.
필요 한 기술:
•삽입,수정,삭제 등 SQL 기초 지식
•Oracle's SQL*Plus 도 구 를 사용 하 는 기본 기술;
•오 라 클 의 PL/SQL 프로 그래 밍 언어 를 사용 하 는 기본 기술;
저장 프로시저
저장 프로 세 스 는 Oracle's PL/SQL 프로그램 언어 로 작 성 됩 니 다.아무것도 하지 않 는 저장 프로 세 스 를 작성 할 수 있 습 니 다.데이터 베 이 스 를 손상 시 킬 염려 없 이 컴 파일 하고 실행 할 수 있 습 니 다.
Notepad 에 다음 을 쓰 십시오:
 
 CREATE OR REPLACE PROCEDURE skeleton

  IS

   BEGIN

  NULL;

  END;

파일 을 skeleton.sql 로 저장 합 니 다.
이 저장 과정 을 한 줄 한 줄 옮 겨 다 닙 니 다.
  
1 CREATE OR REPLACE PROCEDURE skeleton

  2 IS

  3 BEGIN

  4 NULL;

  5 END;

행 1:
CREATE OR REPLACE PROCEDURE 는 SQL 문 구 를 통 해 Oracle 데이터베이스 에 skeleton 저장 프로 세 스 라 는 것 을 알 리 고 존재 하면 덮어 씁 니 다.
행 2:
IS 키 워드 는 다음 에 PL/SQL 체 를 따 를 것 임 을 나타 낸다.
행 3:
BEGIN 키 워드 는 PL/SQL 체 의 시작 을 나타 낸다.
행 4:
NULL PL/SQL 문 구 는 아무것도 하지 않 는 다 는 것 을 나타 낸다.이 문 구 는 삭제 할 수 없다.왜냐하면 PL/SQL 체 에 적어도 한 마디 가 필요 하기 때문이다.
행 5:
END 키 워드 는 PL/SQL 체 의 끝 을 나타 낸다.
4.저장 프로시저 생 성
SQL 구문 CREATE OR REPLACE PROCEDURE 는 Oracle 데이터베이스 에서 저장 과정 을 만 들 고 컴 파일 하 며 저장 합 니 다.
Window 에서 SQL*Plus 를 열 고 SQL*Plus 에서 데이터베이스 에 로그 인 합 니 다.skeleton.sql 파일 을 엽 니 다.
SQL>명령 프롬프트 에 다음 명령 을 입력 하 십시오:
   SQL>@skeleton
  SQL>/
SQL*Plus 에서 skeleton.sql 파일 의 내용 을 SQL*Plus 버퍼 에 불 러 오고 SQL*Plus 문 구 를 실행 합 니 다.SQL*Plus 는 저장 과정 이 성공 적 으로 만 들 어 졌 음 을 알려 줍 니 다.
현재 저장 과정 이 생 성 되 고 컴 파일 되 며 Oracle 데이터베이스 에 저장 되 어 있 습 니 다.실행 할 수 있 습 니 다.
5.저장 프로시저 실행
SQL*Plus 명령 행 프롬프트 에서 저장 과정 을 실행 하려 면 EXECUTE 명령 을 사용 하 십시오.다음 과 같 습 니 다.
  SQL> EXECUTE skeleton;
SQL*Plus 는 저장 과정 이 성공 적 으로 실행 되 었 음 을 확신 하 는 정 보 를 출력 합 니 다.PL/SQL procedure 가 성공 적 으로 완료 되 었 습 니 다.
이름 없 는 PL/SQL 블록 에서 저장 과정 을 실행 할 수 있 습 니 다.SQL*Plus 명령 프롬프트 에서 다음 과 같 습 니 다.
  
SQL> BEGIN

  2 SKELETON;

  3 END;

  4 /

지금 우 리 는 이미 우리 의 저장 과정 을 실 행 했 는데,우 리 는 어떻게 그것 을 수정 합 니까?
6.저장 프로시저 수정
출력 문자열'Hello World!'의 저장 과정,Notepad 로 skeleton.sql 파일 을 엽 니 다.DBMS 로OUTPUT.PUT_LINE 프로 세 스 호출 은 NULL 문 구 를 교체 합 니 다.다음 과 같 습 니 다.
 
 CREATE OR REPLACE PROCEDURE skeleton

  IS

  BEGIN

  DBMS_OUTPUT.PUT_LINE('Hello World!');

   END;

파일 skeleton.sql 에 저장 합 니 다.
SQL*Plus 명령 행 에서 파일 skeleton.sql 을 엽 니 다.
  
SQL> @skeleton

  SQL>

  1 CREATE OR REPLACE PROCEDURE skeleton

  2 IS

  3 BEGIN

  4 DBMS_OUTPUT.PUT_LINE('Hello World!');

  5* END;

  SQL> /
SQL*Plus 는 저장 과정 이 성공 적 으로 생 성 되 고 알림 정 보 를 출력 하 는 것 을 알려 줍 니 다:Procedure created.
  SQL>
저장 프로 세 스 를 EXECUTE 명령 으로 실행 합 니 다:
  SQL> EXECUTE skeleton;
SQL*Plus 저장 프로시저 실행 성공 표시:PL/SQL 프로시저 가 성공 적 으로 완료 되 었 습 니 다.
우리 가 원 하 는 출력 문자열"Hello World!"나 오지 않 았 습 니 다.DBMS 를 표시 하고 있 습 니 다.OUTPUT.PUT_LINE 결과 전에 SET 명령 을 실행 해 야 합 니 다.SQL*Plus 명령 행 프롬프트 에 입력 하 십시오:
  SQL> SET SERVEROUTPUT ON
저장 프로시저 다시 실행:
  SQL> EXECUTE skeleton;
현재 결과 출력:Hello World!
  PL/SQL procedure successfully completed.
7.저장 프로시저 디 버 깅
저장 프로 세 스 를 디 버 깅 할 때 같은 절차 에 따라 SQL 파일 을 수정 하고 저장 프로 세 스 를 만 들 며 저장 프로 세 스 를 실행 합 니 다.컴 파일 러 가 피드백 하 는 오류 정보 에 따라 수정 합 니 다.이 단 계 는 매우 번 거 롭 고 경험 에 의존 해 야 합 니 다.
실제 상업 용 저장 과정의 개발 디 버 깅 과정 에서 표,유형,커서,순환,조건 등 복잡 한 논리 와 PL/SQL 문장의 유연 한 운용 과 관련 되 기 때문에 컴 파일 할 때 많은 오류 알림 정보 가 발생 할 수 있 습 니 다.프로그래머 는 이러한 오류 정보 에 따라 위 치 를 정 하고 수정 한 다음 에 컴 파일 한 다음 에 정확 한 구 조 를 얻 을 수 있 습 니 다.
8.저장 프로시저 포기
데이터베이스 에 저장 과정 이 필요 하지 않 으 면 삭제 할 수 있 습 니 다.SQL 구문 DROP PROCEDURE 는 데이터베이스 에서 저장 과정 을 삭제 합 니 다.DROP PROCEDURE 는 SQL 에서 데이터 정의 언어(DDL)류 로 분 류 됩 니 다.다른 예 는 CREATE,ALTER,RENAME,TRUNCATE 가 있 습 니 다.
SQL*Plus 명령 프롬프트 에서 DROP PROCEDURE SQL 문 구 를 사용 하여 skeleton 이라는 저장 과정 을 삭제 합 니 다.
  
SQL> DROP PROCEDURE skeleton;

   SQL*Plus assures us the procedure has been removed:

  Procedure dropped.

총결산
본 고 는 Oracle 도 구 를 어떻게 사용 하여 Oracle 상업 용 저장 과정 을 개발 하 는 지 상세 하 게 토론 하 였 다.마지막 으로 저장 과정의 사용 에 있어 서 프로그램 이 직접 호출 될 수도 있 고 트리거 에 의 해 호출 될 수도 있다.

좋은 웹페이지 즐겨찾기