PL/SQL : Procedural language extension to Structured Query Language(SQL)의 약자
SQL을 확장한 순차적 처리 언어
PL/SQL의 기본 구조
PL/SQL의 기본 단위는 블록(BLOCK)
1)선언부(Declarative Part) : 사용할 변수나 상수를 선언(선언부에만 변수와 상수 선언 가능)
2)실행부(Executable Part): 실제 처리할 로직을 담당하는 부분
3) 예외처리부(Exception - building Part) : 실행부에서 로직을 처리하던 중 발생할 수 있는 각종 오류들에 대해 처리
실행부만 명시한 형태
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;
변수사용
DECLARE
--변수를 선언할 수 있는 선언부
message VARCHAR2(100); --변수명 후 자료형과 사이즈 순서 (자바와 반대되는 순서다)
BEGIN
--실행부에 사용할 변수는 선언부에서 미리 선언되어야 함.
message := 'Hello World!!!';
DBMS_OUTPUT.PUT_LINE(message);
END;
변수 선언 및 초기화
DECLARE
--변수 선언 및 초기화
message VARCHAR2(100) := 'Hello ORACLE';
BEGIN
DBMS_OUTPUT.PUT_LINE(message);
END;
DECLARE
--변수 선언 후 초기화를 하지 않으면 null
counter INTEGER; --SQL에서는 안되지만 pl/sql에서는 INTEGER가 가능
BEGIN
counter := counter +1;
IF counter IS NULL THEN --IF 하고 THEN 사이에 조건값을 넣고
DBMS_OUTPUT.PUT_LINE('result : counter is null'); --THEN과 END IF 사이에 결과값을 넣는다.
END IF;
END;
DECLARE
--변수선언
counter INTEGER;
i INTEGER;
BEGIN
FOR i IN 1..9 LOOP --1부터 9까지 1씩 증가한다.
counter := 2 * i; --i는 null이지만 for문안에서 초기화되기 떄문에 연산이 가능하다.
DBMS_OUTPUT.PUT_LINE('2* '|| i || '=' || counter);
END LOOP;
END;
예외처리부
EXCEPTION WHEN 예외1 THEN 예외처리1
WHEN 예외2 THEN 예외처리2
WHEN OTHERS THEN 예외처리
DECLARE
--변수 선언
counter INTEGER;
BEGIN
--변수 초기화
counter :=10;
counter := counter/0;
DBMS_OUTPUT.PUT_LINE(counter);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('errors');
END;
'쌍용교육(JAVA) > PL\SQL' 카테고리의 다른 글
쌍용교육 -PL/SQL 수업 21일차 PL/SQL 서브프로그램 (0) | 2024.04.13 |
---|---|
쌍용교육 -PL/SQL 수업 21일차 (IF문,CASE문,LOOP문,CURSOR) (0) | 2024.04.13 |
쌍용교육 -PL/SQL 수업 21일차 (레코드) (0) | 2024.04.12 |
쌍용교육 -PL/SQL 수업 21일차 콜렉션(1.varray2.중첩 테이블3.Associative array(index-by table)4.콜렉션을 데이터베이스 객체로 생성) (0) | 2024.04.12 |
쌍용교육 -PL/SQL 수업 21일차 변수와상수(1.변수2.상수3.%TYPE4.%ROWTYPE) (0) | 2024.04.12 |
PL/SQL : Procedural language extension to Structured Query Language(SQL)의 약자
SQL을 확장한 순차적 처리 언어
PL/SQL의 기본 구조
PL/SQL의 기본 단위는 블록(BLOCK)
1)선언부(Declarative Part) : 사용할 변수나 상수를 선언(선언부에만 변수와 상수 선언 가능)
2)실행부(Executable Part): 실제 처리할 로직을 담당하는 부분
3) 예외처리부(Exception - building Part) : 실행부에서 로직을 처리하던 중 발생할 수 있는 각종 오류들에 대해 처리
실행부만 명시한 형태
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;
변수사용
DECLARE
--변수를 선언할 수 있는 선언부
message VARCHAR2(100); --변수명 후 자료형과 사이즈 순서 (자바와 반대되는 순서다)
BEGIN
--실행부에 사용할 변수는 선언부에서 미리 선언되어야 함.
message := 'Hello World!!!';
DBMS_OUTPUT.PUT_LINE(message);
END;
변수 선언 및 초기화
DECLARE
--변수 선언 및 초기화
message VARCHAR2(100) := 'Hello ORACLE';
BEGIN
DBMS_OUTPUT.PUT_LINE(message);
END;
DECLARE
--변수 선언 후 초기화를 하지 않으면 null
counter INTEGER; --SQL에서는 안되지만 pl/sql에서는 INTEGER가 가능
BEGIN
counter := counter +1;
IF counter IS NULL THEN --IF 하고 THEN 사이에 조건값을 넣고
DBMS_OUTPUT.PUT_LINE('result : counter is null'); --THEN과 END IF 사이에 결과값을 넣는다.
END IF;
END;
DECLARE
--변수선언
counter INTEGER;
i INTEGER;
BEGIN
FOR i IN 1..9 LOOP --1부터 9까지 1씩 증가한다.
counter := 2 * i; --i는 null이지만 for문안에서 초기화되기 떄문에 연산이 가능하다.
DBMS_OUTPUT.PUT_LINE('2* '|| i || '=' || counter);
END LOOP;
END;
예외처리부
EXCEPTION WHEN 예외1 THEN 예외처리1
WHEN 예외2 THEN 예외처리2
WHEN OTHERS THEN 예외처리
DECLARE
--변수 선언
counter INTEGER;
BEGIN
--변수 초기화
counter :=10;
counter := counter/0;
DBMS_OUTPUT.PUT_LINE(counter);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('errors');
END;
'쌍용교육(JAVA) > PL\SQL' 카테고리의 다른 글
쌍용교육 -PL/SQL 수업 21일차 PL/SQL 서브프로그램 (0) | 2024.04.13 |
---|---|
쌍용교육 -PL/SQL 수업 21일차 (IF문,CASE문,LOOP문,CURSOR) (0) | 2024.04.13 |
쌍용교육 -PL/SQL 수업 21일차 (레코드) (0) | 2024.04.12 |
쌍용교육 -PL/SQL 수업 21일차 콜렉션(1.varray2.중첩 테이블3.Associative array(index-by table)4.콜렉션을 데이터베이스 객체로 생성) (0) | 2024.04.12 |
쌍용교육 -PL/SQL 수업 21일차 변수와상수(1.변수2.상수3.%TYPE4.%ROWTYPE) (0) | 2024.04.12 |