Oracle - 14 저장 프로시저


저장 과정 은 데이터 사전 에 저 장 된 프로그램 블록 으로 서로 다른 사용자 와 응용 프로그램 간 에 공유 할 수 있 고 프로그램의 최적화 와 재 활용 을 실현 할 수 있 습 니 다.
 
1. 저장 프로시저 생 성 및 실행
1. SQL 명령 으로 저장 프로시저 만 들 기
문법 형식 은 다음 과 같 습 니 다.
 
create [or replace] procedure [schema.]procedureName[(param1 mode1 dataType1,...n)]
			is | as
        var1 type1;
        var2 type2;
        ...
			begin
				statements; /*   ,      */
			end;

 
그 중에서 mode 1 은 매개 변수의 유형 을 나타 내 고 방법의 매개 변수 와 마찬가지 로 in, out 과 in out 세 가지 유형 이 있 습 니 다.dataType 1 은 매개 변수의 데이터 형식 을 표시 합 니 다.
예제 코드:
 
create or replace procedure getModuleName(mid in number,mname out varchar)
		  as
		  begin
			select name into mname from t_module where id=mid;
		  end;

 
 
2. 저장 프로시저 호출
문법 형식 은 다음 과 같 습 니 다.
 
exec[ute] procedureName[(param1,...n)] /*             */

 
주:
저장 프로 세 스 의 이름 을 직접 입력 해도 정 의 된 저장 프로 세 스 를 실행 할 수 있 습 니 다.
예제 코드:
 
declare
		  mid number := 15;
		  mname varchar(20);
		begin
		  GETMODULENAME(mid,mname);
		  dbms_output.put_line(mname || ' ********ModuleName');
		end;

 
 
 
2. 저장 과정의 편집 수정
저장 프로 세 스 를 수정 하 는 것 은 보 기 를 수정 하 는 것 과 마찬가지 로 alter procedure 문 구 는 있 지만 저장 프로 세 스 를 다시 컴 파일 하 는 데 사 용 됩 니 다.정 의 된 저장 과정 을 수정 하려 면 create or replace procedure 문 구 를 사용 하 십시오.
예 를 들 어 위의 getmodulename 저장 과정 을 다음 과 같이 수정 합 니 다.
 
create or replace procedure getModuleName(mid in number,mname out varchar)
	  as
	  begin
		if mid > 0 then
			select name into mname from t_module where id=mid;
		else
			mname := null;
		end if;
	  end;

 
 
 
3. 저장 프로시저 삭제
메모리 프로 세 스 가 더 이상 필요 하지 않 을 때 사용 하 는 메모리 자원 을 방출 하기 위해 삭제 할 수 있 습 니 다.
문법 형식 은 다음 과 같 습 니 다.
 
drop procedure [schema.]procedureName;

 
예 를 들 어 getmodulename 저장 과정 을 삭제 하 는 것 은 다음 과 같 습 니 다.
 
drop procedure getmodulename;

좋은 웹페이지 즐겨찾기