Data Base

Oracle) PL/SQL 개념

5_jinseok12 2018. 7. 10. 09:26
728x90

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를 생성

 

복사된 값이 기존의 테이블 값과 같은지 확인해본다.

 

 

 

반응형