Oracle) PL/SQL 개념
PL/SQL 이란?
오라클에서 제공하는 프로그래밍 언어를 뜻한다
일반 프로그래밍 언어적인 요소는 거의다 가지고 있어서 절차적인 데이터 처리가 모두 가능하고
SQL과 결합하여 기존 언어보다 더욱 편하게 데이터베이스 관련 작업을 처리할 수 있게 해준다
PL/SQL BLOCK의 기본 구성을 살펴보자
DECLARE : 모든 변수나 상수를 선언하는 선언부
BEGIN : 제어문, 반복분, 함수 정의 등을 기술하는 실행부
Exception : 실행 도중 에러 발생 시 해결하는 문장을 기술하는 예외처리부
(선언부와 예외처리부는 경우에 따라 생략 가능)
프로그램을 작업하기 전에 처음에 해야할 것이 있다.
SET SERVEROUTPUT ON; 을 입력시켜야 한다. 화면 출력기능을 활성화 시키는 것이다.
처음에 한번만 입력하면 된다.
기본적인 것이므로 반드시 외워두고 작업하기 전에 사전에 미리 입력하길 바란다.
DECLARE 를 통해 vno와 vname을 선언.
BEGIN 을 통해 실행시킬 함수 입력
DBMS_OUTPUT.PUT_LINE(vno|| ' '||vname); 을 통해 결과값을 출력
1번 행 : DECLARE 로 PL/SQL 블록의 시작.
2,3번 행: V_empid 와 V_salary의 변수를 선언함.
5~7번 행 : id의 값도 사용자가 직접 지정하게 설정.
9번 행 : PL/SQL의 종료
결과값 : id를 100으로 입력했을 때 그에 맞는 salary도 같이 출력.
EX 1) INSERT 문장 수행
CREATE 를 통해 TABLE과 SEQUENCE를 생성
pl_test의 테이블안의 SEQUENCE에 INSERT를 통해 AAA라는 값을 입력
EX 2) pl_test2 테이블을 생성한 후 사용자로부터 번호와 이름 주소를 입력받은 후
pl_test2 테이블에 입력하는 PL/SQL문장을 작성.
우선 테이블을 만들어주고 변수를 선언한다.
변수의 값을 사용자가 직접 입력할 수 있게 설정.
NO의 값을 1004
name의 값을 JinSeok
add의 값을 Dongtan으로 입력한 후
select * from pl_test2 를 통해 제대로 값이 저장되었는지 확인.
EX 2) UPDATE로 데이터 변경
pl_test1 안에 no 2번과 3번의 값이 저장되어 있다
2번의 JINSEOK의 값을 UPDATE를 통해 바꾸고자 할 때
UPDATE [테이블명] SET [속성값] WHERE [조건] 을 통해 수정할 수 있다.
기존의 NO = 2 의 내용을 HyunJun으로 수정한걸 확인할 수 있다.
EX 3) 응용하여 연산하기
v_no1과 v_no2를 입력받을 변수 값으로 지정.
v_sum의 변수를 생성
BEGIN이 실행된 후 v_sum의 변수를 통해 연산자 사용
EX 4) employees 테이블을 복사하여 pl_employees4를 생성
복사된 값이 기존의 테이블 값과 같은지 확인해본다.