티스토리 뷰


1. PL/SQL- 생성 

 오라클에서 프로시저를 사용하고자 할 경우에 원하는 SQL문장을 활용하여 프로시저를 생성하거나 변경해 이용


◈ 구문형식


CREATE OR REPLACE 프로시저 이름(입력하고자 변수명 변수타입)

  IS

       BEGIN

              원하는 SQL;

       END;

EXCEPTION (선택)



2. PL/SQL - 설명 


◈ 프로시저 사용 이유


일반 SQL문장을 이용하다 보면은 어느 시점에 한계에 이르게 됩니다.

다른 프로그래밍 처럼 FOR문이나 IF문과 같은 조건문을 쓰고 싶을 때나 복잡한 것을 처리하고 난 후 결과 값을 받아서 사용하고 싶을 때가 찾아옵니다.

이 때 활용해 주는 것이 PL/SQL입니다.

보통은 프로시저나 함수 등으로 등록해서 사용합니다.

예를 들어서 같은 회사에 재직중인 사람이 10,000명 이라고 할 때 이중 직급이 과장이면서 연봉이 1억원 이상인 동시에 남자이면서 가족 부양수가 3명 이상인 경우를 찾아서 제일 나이가 많은 분을 찾아라 라고 한다고 할 때 이럴 때 PL/SQL문장을 활용하시면 좋습니다.



3.  PL/SQL - SQL 문장


◈ SQL 문장

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE PROCEDURE TEST_PROCEDURE
(
IN_YEAR IN VARCHAR2,
IN_MONTH IN VARCHAR2,
IN_DAY IN VARCHAR2
)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('오늘 날짜 : '||IN_YEAR||'-'||IN_MONTH||'-'||IN_DAY);
END;

--위 문장으로 프로시저을 생성하신 후 아래 문장으로 실행하여 결과 확인
SQL> EXEC TEST_PROCEDURE('2019','12','05');


◈ 설명



현재 제가 일하고 있는 회사는 이렇게 단순한 프로시저 문장은 없습니다.

단지 PL/SQL문장을 만들 때 위와 같은 구조로 하게 됨을 간략하게 위와 같이 예제를 올립니다.

나중에 테이블을 활용한 것을 응용해 올려드리도록 하겠습니다.

위와 같은 구조에서 DBMS_OUTPUT 으로 시작하는 부분에 SQL문장을 이용해서 원하는 결과를 찾아내도록 할 수 있고, 그 결과를 RETURN할 수 있습니다.

중요한 것은 SQL입력하고 마지막에 꼭 세미콜론(;)을 입력해 주시고 , END 뒤에도 세미콜롬(;)을 입력해 주셔야 합니다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday