📌PL/SQL - PROCEDURAL LANGUAGE SQL (절차적 언어) - 표준 SQL은 분기문, 변수, 제어문 등이 없어 기능이 제한적 이를 해결하기 위한 방법으로 제공된 것이 PL/SQL - 미리 컴파일되어 서버에 저장되어 실행속도 향상과 네트워크 트래픽 감소 - 캡슐화,모듈화 가능 --캡슐화:부당하게 영향을 미치거나 간섭을 받지 않도록 함/모듈화:하나의 결과를 내보내기 위해서 명령들이 하나로 모일 수 있게 하는 것(단일업무) - 익명블록(Anonymous Block), 프로시져(Stored Procedure), 함수(User Defined Function) 트리거(Trigger), 패키지(Pakage) 등이 제공됨
📌익명블록(Anonymous Block) - 이름이 없는 블록 - 저장되지 않음 -pl/sql의 기본 구조 제공
(사용형식)
DECLARE
선언영역 => 변수,상수,커서,사용자데이터타입
BEGIN
실행영역 => 비지니스 로직을 처리하기 위한 SQL문
[EXCEPTION
예외처리문
]
END;
❗사용예:: 구구단의 7단을 출력하는 익명 블록을 작성하시오
DECLARE
L_BASE NUMBER:=7;
L_RESULT NUMBER:=0;
BEGIN
FOR I IN 1..9 LOOP
L_RESULT:=L_BASE*I;
DBMS_OUTPUT.PUT_LINE(L_BASE||'*'||I||'='||L_RESULT);
END LOOP;
END;
. 상수 선언은 'CONSTANT'을 사용하고 이때 반드시 초기값을 기술해야 함 . 데이터 타입은 SQL에서 사용하는 표준 데이터 타입과 PLS_INTEGER, BINARY_INTEGER, BOOLEAN 등이 사용됨 . 할당연산자(대입연산자)는 ':='임 / ※ '='는 동등연산자 . 변수에 초기값이 할당되지 않으면 모든 변수는 NULL값으로 초기화 됨
. '데이터 타입'대신 참조형이 사용될 수 있음
❗ 참조형 변수
- 행참조와 열참조가 제공 - 열참조: 테이블명.컬럼명%TYPE ex) L_NAME MEMBER.MEM_NAME%TYPE