PL/SQL start
PL/SQL
- SQL은 비절차적 언어
- 파이썬, R, 자바 등과는 다르다
- ‘DB 프로그래밍’이라 하면 SQL을 사용한 DML문을 사용하는 것을 지칭할 수도 있지만, 실제 복잡한 비즈니스 로직을 만드는 것은 PL/SQL을 사용해 구현하는 것이 보통이다.
- PL/SQL은 일반 프로그래밍 언어에서 제공하는 많은 기능이 탑재되어 있다.
- 다른 프로그래밍 언어와 다른 점은 PL/SQL은 DB에 직접 탑재되어 컴파일되고 실행되어 성능 면에서도 우수하고, DB 관련 처리를 할 때 수많은 기능을 제공한다.
둘째 마당
- 복잡한 비즈니스 로직을 처리하는 —> 프로그래밍
PL/SQL 기본 구조
PL/SQL 소스 프로그램의 기본 단위를 블록(Block)이라고 하는데, 블록은 선언부, 실행부, 예외 처리부로 구성된다.
이 블록은 다시 이름이 없는 블록과 이름이 있는 블록으로 구분할 수 있는데 전자에 속하는 것이 익명 블록이며, 함수, 프로시저, 패키지 등이 후자에 속한다.
오라클 SQL과 PL/SQL을 다루는 기술 260p
이름이 없는 익명 블록anonymous block을 사용해 PL/SQL 코드를 작성해 보자.
먼저 변수를 선언하고 값을 할당해 이 값을 출력하는 익명 블록을 만든다.
1 | -- PL/SQL |
- 만약 현재 로그온 한 SQLPlus를 종료하고 다시 접속한다면 “SET SERVEROUTPUT ON”이란 명령어를 다시 실행해야 출력 결과를 볼 수 있다.
- 참고로 SQLPlus 상에서 PL/SQL 블록을 실행했을 때 총 소요시간도 알 수 있는데, 이를 위해서는 SET TIMING ON 명령어를 실행하면 된다.
실행)
상수
- 상수는 변수와는 달리 한 번 값을 할당하면 변하지 않는다
상수명 CONSTANT 데이터타빙 : = 상수값;
1 | -- p.264 |
실행)
DML문
- SQL문 중 DDL은 PL/SQL 상에서 직접 쓸 수 없고 DML문만 사용한다.
1 | -- DM문 |
실행)
데이터 타입
1 | DECLARE |
실행)
데이터 크기
1 | -- SQL과 PL/SQL에서 사용할 수 있는 데이터 크기는 다름 |
두 수의 합
1 | -- 두 수의 합 |
실행) 1 2
데이터 입력
1 | DROP table emp; |
조회
1 | -- 사원번호를 찾아라 |
실행) 7893
조건절
1 | -- 조건절 & 반복문 |
실행) KING
반복문
- 구구단 예제
1 | -- 반복문 |
- Reference : 오라클 SQL과 PL/SQL을 다루는 기술
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.