본문 바로가기

SQL/SQL Developer

PLSQL (PROCEDURE)

 

 

사원 테이블에 저장된 모든 사원을 삭제하는 프로시저를 작성해보자.

 


1. 모든 사원을 삭제하는 프로시저를 실행시키기 위해서 

미리 사원 테이블을 복사해서 새로운 사원 테이블을 만들어 놓자. 
2. ED 다음에 파일이름을 입력하여 새로 생긴 SQL 파일에 다음과 같이 입력하시오.

 

 

[저장 프로시저 생성하기]

CREATE OR REPLACE PROCEDURE DEL_ALL
IS
BEGIN
DELETE FROM EMP01;
END;
/

(파일이름:PROC01.sql)


3. 작성을 완료한 후에 파일을 저장한다. 

SQL> 프롬프트에 @파일명을 입력하면 

SQL 파일 내부에 기술한 PL/SQL 이 실행된 후 결과가 출력된다. 

 

[CMD창 실행]

EMP파일이 삭제된것이 아닌것을 알 수 있다.

 

저장 객체를 하나 더 만든 것

 

 

 

4. 생성된 저장 프로시저는 EXECUTE 명령어로 실행시키기

 

EXECUTE DEL_ALL

 

 

SELECLT * FROM EMP01;

삭제된 것을 확인할 수 있다.


 

 

저장 프로시저 조회하기

 

저장 프로시저를 작성한 후 

사용자가 저장 프로시저가 생성되었는지 확인하려면 

USER_SOURCE 살펴보면 된다.

 

DESC USER_SOURCE

USER_SOURCE의 내용을 조회하면 어떤 저장 프로시저가 생성되어 있는지와 해당 프로시저의 내용이 무엇인지 확인할 수 있다.

 

 

 

 

SELECT NAME,TYPE,TEXT FROM USER_SOURCE;


 

 

 

 

만일 특정 사원만을 삭제하려면 어떻게 해야 할까? 

 

저장 프로시저를 생성할 때 삭제하고자하는 사원의 이름이나 사원 번호를 

프로시저에 전달해 주어 이와 일치하는 사원을 삭제하면 된다. 
저장 프로시저에 값을 전달해 주기 위해서 매개 변수를 사용한다.

 

매개변수가 있는 저장프로시저 정의하기

 

'SQL > SQL Developer' 카테고리의 다른 글

VIEW  (0) 2021.04.12
ALTER 문법  (0) 2021.04.12
LOOP(구구단)  (0) 2021.04.08
EXCLUSIVE LEFT JOIN  (0) 2021.04.05
FULL OUTER JOIN  (0) 2021.04.05