PLSQL 개념
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 PL/SQL[편집]
android 데이터 트랜잭션 처리 능력이나 정보 보호, 데이터에 대한 보안, 예외처리 기능, 객체지향 등 데이터베이스와 관련된 중요한 모든 기능을 지원
- 데이터베이스 업무를 처리하기에 최적화된, 오라클에서 제공하는 프로그래밍 언어
- PL/SQL엔진은 메모리에서 구동됨
1.1 실행 원리[편집]
- PL/SQL 블록에서의 SQL문장이 수행되어 결과가 돌아옴
- 그 결과를 받고 난 후 선언된 변수와 함께 나머지 PL/SQL 문장을 실행됨
1.2 기본 구조[편집]
- DECLARE (선언부)
- - 모든 변수나 상수를 선언
- EXECUTABLE (실행부)
- - BEGIN,제어문 반복문, 함수정의 등의 로직을 기술
- EXCEPTION (예외처리부)
- - 실행 도중 에러 발생시 해결하는 문장 기술
1.3 유형[편집]
- Anonymous PL/SQL Block
- - 익명블록, 일회용, 한번만 쓰고 끝
- Stored PL/SQL Block
- - 저장된블록, 주기적으로 반복해서 사용할 경우
- PL/SQL은 기본적으로 처리된 결과값을 화면에 출력하지 않기 때문에 화명 출력 기능을 활성화 시켜야 함
SCOTT>set serveroutput on ;
1.4 기본적인 문법[편집]
DECLARE
변수선언 ;
BEGIN
SQL 문장 ;
DBMS_OUTPUT.PUT_LINE(출력내용) ; --> 화면출력을 어떻게 할 것인가, END 전에 설정, 출력내용에 써주는 칼럼명은 변수이름을 써줘야한다!)
END ;
/
1.5 주의사항[편집]
- 들여쓰기 권장 - 보기에도 쉬움. 습관을 들이자
- 그룹함수와 DECODE 함수는 SQL 문장에 포함되어야만 사용할 수 없음
- 문자, 날짜는 ' '로 묶어주기
- PL/SQL에서는 DDL, DCL을 지원하지 않음
- DDL - CREATE / ALTER / TRUNCATE / DROP
- DCL - GRAN / REVOKE
1.5.1 SELECT 문장 사용하기[편집]
- 문법: (실행부에서의 문법)
BEGIN
SELECT 칼럼1,칼럼2 INTO 변수1, 변수2
FROM 테이블명
WHERE 조건 ;
END ;
1.5.2 DML 문장 사용하기 (INSERT / UPDATE / DELETE / MERGE)[편집]
1.5.2.1 INSERT[편집]
- 서버에 데이터를 입력해주는 것이니까 변수선언은 없음 즉, DECLARE (선언부)는 없음
- 단, 사용자로부터 입력받은 값으로 테이블에 데이터 입력하는 것은 입력받는 값에 대한 변수는 선언해줘야함
- 문법:
BEGIN
INSERT INTO 테이블명
VALUES (값/변수) ;
END ;
1.5.2.2 UPDATE[편집]
BEGIN
UPDATE 테이블명
SET 칼럼=값
WHERE 조건 ;
END ;
1.5.2.4 MERGE[편집]
- 문법:
BEGIN
MERGE INTO 테이블1
USING 테이블2
ON (병합조건절)
WHEN MATCHED THEN
UPDATE SET 업데이트내용
WHEN NOT MATCHED THEN
INSERT VALUES (칼럼명) ;
END ;
- 알아두기!
- a = 20
- --> 비교를 하는 비교연산자, a가 20인지 비교
- a := 20
- --> 할당 연산자, 20의 값을 a에 할당
- 사용자에게 값을 입력 받아서 변수에 할당 할 때는 &(앰퍼센트) 기호를 사용
- 그래서 사용자한테 입력을 받은 값을 a에 넣고 싶으면
- a := '&abc'