티스토리 뷰
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 문장
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 뒤에도 세미콜롬(;)을 입력해 주셔야 합니다.
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] CREATE SEQUENCE - 시퀀스 생성 (0) | 2019.12.04 |
---|---|
[oracle] CREATE VIEW - 뷰 생성 (0) | 2019.12.03 |
[oracle] DROP TABLE - 테이블 삭제 (0) | 2019.12.02 |
[oracle] RENAME TABLE - 테이블 이름 변경 (0) | 2019.11.29 |
[oracle] CREATE TABLE AS SELECT - 테이블 복사 (0) | 2019.11.26 |
- Total
- Today
- Yesterday