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 상업 용 저장 과정 을 개발 하 는 지 상세 하 게 토론 하 였 다.마지막 으로 저장 과정의 사용 에 있어 서 프로그램 이 직접 호출 될 수도 있 고 트리거 에 의 해 호출 될 수도 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Oracle 생성 향후 3일간의 전체 시점 (단계 상세)수요: X 좌표축 시간은 모두 정시 시간으로 앞으로 3일 동안의 예측을 보여준다(x 축은 앞으로 3일 동안의 정시 시간을 보여준다), 3시간마다 한 눈금, 가로 좌표는 모두 24개의 눈금을 보여준다 1단계: 현재 시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.