차근차근/Oracle

PL/SQL기초

예쁜꽃이피었으면 2021. 12. 13. 15:25

https://goddaehee.tistory.com/99

 

[Oracle] PL/SQL 기초 (정의, 특징, 사용방법, 변수선언 방법)

[Oracle] PL/SQL 기초 (정의, 특징, 사용방법, 변수선언 방법) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [PL/SQL 기초] 입니다. :) ▶ PL/SQL (Procedural Language extension to SQL)  - SQL을 확장한 절..

goddaehee.tistory.com

PL/SQL(Procedural Language extension to SQL)

- SQL을 확장한 절차적 언어

- 관계형 데이터베이스에서 사용되는 Orcale의 표준 데이터 엑세스 언어로, 프로시저 생성자를 SQL과 완벽하게 통합한다.

- 유저 프로세스가 PL/SQL블록을 보내면, 서버 프로세서는 PL/SQL Engine에서 해당 블록을 받고 SQL과 Procedural에서 해당 블록을 받고 SQL과 Procedural를 나눠서 SQL은 SQL Statement Executer로 보낸다.

- PL/SQL프로그램의 종류는 크게 Procedure, Function, Trigger로 나뉜다.

- 오라클에서 지원하는 프로그래밍 언어의 특성을 수용해 SQL에서는 사용할 수 없는 절차적 프로그램 기능을 가지고 있어 SQL의 단점을 보완하였다. 

< SQL의 단점 > ?

- 변수가 없다

- 한번에 하나의 명령문만 사용가능해 트래픽이 상대적으로 증가한다.

- 제어문(if, loop) 사용불가

- 예외 처리가 없다. 

 

PL/SQL의 장점

- 프로시저 생성자와 SQL의 통합

- 성능항샹 : 잘만들어진 PL/SQL명령문이라는 가정하에 좋아짐.

- 모듈실 프로그램 개발 가능 : 논리적인 작업을 진행하는 여러 명령어들을 하나의 블록으로 만들 수 있음.

- 이식성 좋음

- 예외처리 가능

 

 

기본 PL/SQL Block구조

1) DECLARE (선언부)

- PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 부분으로 Declare로 시작=> 변수/상수/커서 등을 선언

2) BEGIN (실행부)

- 절차적 형식으로 SQL문을 실행할 수 있도록 절차적 언어의 요소인 제어문, 반복문, 함수 정의 등 로직을 기술할 수 있는 부분이며 BEGIN으로 시작

3) EXCEPTION (예외처리부)

- PL/SQL문이 실행되는 중에 에러가 발생할 수 있는데 이를 예외 사항이라고 한다.

이러한 예외사항이 발생했을 때 이를 해결하기 위한 문장을 기술할 수 있는 부분

 

PL/SQL Block의 종류

1) 익명 블록 : 이름이 없는 PL/SQL Block을 말한다.

2) 이름있는 블록 : DB의 객체로 저장되는 블록이 있다.

- 프로시저 : 리턴 값을 하나 이상 가질 수 있는 프로그램

- 함수 : 리턴값을 반드시 반환해야 하는 프로그램

- 패키지 : 하나 이상의 프로시저, 함수, 변수, 예외 등의 묶음

- 트리거 : 지정된 이벤트가 발생하면 자동으로 실행되는 PL/SQL 블록

 

 

PL/SQL 기본특징

- 블록단위의 실행을 제공한다. BEGIN과 END;사용. 마지막에 / 를 입력하면 해당 블록이 실행됨.

- 변수, 상수 등을 선언하여 SQL과 절차형 언어에서 사용

- 변수의 선언은 DECLARE절에서만 가능하다. 그리고 BEGIN센션에서 새 값이 할당될 수 있다.

(DECLARE대신 IS가능할 듯) 

- IF문을 사용하여 조건에 따라 문장들을 분기가능

- LOOP문을 사용하여 일련의 문장을 반복가능

- 커서를 사용해 여러 행을 검색 및 처리

-https://otsteam.tistory.com/368

여기 보는게 나을듯...

PL/SQL에서 사용가능한 SQL은 Query, DML,TCL이다.

DDL(Data Definition Language, 정의어) : create, drop, alter, truncate(테이블 초기화) <=확실하지 않음.

DCL(Data Control Language, 제어어) : grant, revoke, commit, rollback <=확실하지 않음.

 

 

 

 

 

 

 

 

 

 

 

 

 


[참조]

http://www.gurubee.net/lecture/2384

 

절차형 SQL

제8절 절차형 SQL1. 절차형 SQL 개요일반적인 개발 언어처럼 SQL에도 절차 지향적인 프로그램을 벤더별로 제공.벤더절차형SQLORACLEPL(Procedural Lan..

www.gurubee.net

https://hec-ker.tistory.com/87

 

4-8 절차형 SQL

절차형 SQL 개요 일반 개발 언어처럼 SQL에도 절차 지향 프로그램이 가능하도록 DBMS 벤더별로 PL(Procedural Language/SQL(Oracle), SQL/PS(DB2), T-SQL(SQL Server) 등 절차형 SQL을 제공한다. 절차형 SQL을 이..

hec-ker.tistory.com

 

 

 

 

반응형

'차근차근 > Oracle' 카테고리의 다른 글

다른 db 테이블 조회  (0) 2021.12.21
PL/SQL - 커서(CORSOR)  (0) 2021.12.13
PL/SQL 변수선언 %type  (0) 2021.12.13
DBMS_OUTPUT.PUT_LINE  (0) 2021.12.13
오라클 DUAL테이블 (가상테이블)  (0) 2021.12.10