ROLL UP 이나 CUBE처럼 합계는 없지만, 각각의 컬럼별로 그룹핑가능

두가지를 묶고 싶으면 3번째처럼 괄호로 묶는다.

 

SELECT SUBSTR('HELLO JACK SPARROW'14FROM DUAL;

 

'HELLO JACK SPARROW' 문자열에서 1번째 부터 시작해서 4번째까지 불러오세요. 

처음은 1번째...

결과: HELL  

 

--SUBSTR("문자열", "시작위치", "~자까지 불러오세요")

-- INSTR( '문자열' , '찾을문자', 어디부터찾을거냐?,  ~번째나오는 위치리턴..2개 이상일때 사용 )..0부터가 아닌 1부터...

찾는 문자열의 위치 리턴!!! 

 

SELECT INSTR( 'HELLO JACK SPARROW', 'O', 1, 2) FROM DUAL;

HELLO JACK SPARROW 라는 문자열 속에서 O를 찾아 몇번째에 위치하는지 찾아라.

찾을때는 1번부터 찾아라.. (처음은 0부터가 아닌 1부터 시작임)

결과는 : 17

 

SELECT INSTR( 'HELLO JACK SPARROW', 'O') FROM DUAL;

이렇게만 써도 문제 없어요 ( 처음부터 첫번째 나오는거 찾는다.)

 

 

 

 

 

PL/SQL (피엘에스큐엘)

PL/SQL(피엘에스큐엘)은

오라클 DBMS에서

SQL 언어를 확장하기 위해

사용하는 컴퓨터 프로그래밍 언어

 

SQL 명령문만으로 처리하기에는

복잡한 프로세스를 처리해야해서이것들을 씀

함수
프로시저
트리거

주요 자료형

NUMBER, CHAR, VARCHAR2, DATE, TIMESTAMP가 있다.

 

절차적 언어이다. 

 

예외 처리 가능

 

블록 단위의 실행.

이를 위해 BEGIN과 END를 사용.

 

변수선언은 Decalre절에서만 가능

 

주요 기능 3

1. IF문으로 분기가능

2. Loop문으로 반복가능

3. 커서를 이용하여 여러행 검색,처리

 

SELECT문은 해당 SELECT의 결과를 PL/SQL Engine으로 보낸다.  

SQL에서  받으려면 변수를 DECLARE해야 하고,

INTO절을 꼭 선언하여 넣을 변수를 꼭 표현해주어야 한다.

 

SELECT 문장은 반드시 한 개의 행이 검색되어야 한다.   

그리고 이를 INTO절을 꼭 사용,

검색되는 행이 없으면 문제가 발생한다.

 

구조

 DECLARE (선언부)

모든 변수나 상수를 선언하는 부분으로서 DECLARE로 시작

 BEGIN (실행부)

절차적 형식, BEGIN으로 시작

제어문, 반복문, 함수 정의 등 로직을 기술할수있는 부분

 

 EXCEPTION (예외 처리부)

실행중 예외 사항처리

 

 END (실행문 종료)

END;

 

블록 내에서 한문장이 종료할때마다

세미콜론(;)을 사용하여 한문장이 끝났다는것을 명시한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts