무작정 개발.Vlog

[PL/SQL] 시작

by 무작정 개발
반응형
2022.02.03(29일 차)

오늘부터 이틀 동안 PL/SQL을 배운다!

 

 

오늘의 수업 내용

 

 

PL/SQL

 

PL/SQL(Procedural Language/SQL)은 상용 관계형 데이터베이스 시스템인 옹 라클 DBMS에서 SQL 언어를 확장하기

위해 사용하는 컴퓨터 프로그래밍 언어 중 하나이다. SQL의 데이터 조작(DML)과 질의문(QUERY)을 블록 구조에

절차적 단위(IF, LOOP, FOR 등)로등)로 된 코드를 포함할 수 있으며 절차적 프로그래밍을 가능하게 한 강력한 TRANSACTION 처리 언어이다.

 

PL/SQL은 여러 SQL 문장을 BLOCK(블록)으로 묶고 한 번에 BLOCK 전부를 서버로 전송하기 때문에 통신량을

줄일 수 있다.

 

 

구조

 

Declare를 통해 선언하고, Begin을 통해 실행, Exception을 통해 예외 처리를 해준다.

DECLARE
	[실행에 필요한 여러 요소 선언]; --> 변수, 상수, 커서 등
BEGIN
	[작업을 위해 실제 실행하는 명령어]; --> 조건문,반복문,select,dml 함수 등
EXCEPTION
	[PL/SQL수행 도중 발생하는 오류 처리];

★ 작성을 끝낸 PL/SQL은 END 키워드로 종료를 명시해야 한다.

 

블록의 유형

ANONYMOUS - 관리자들이 많이 사용하는 형태. 스크립트 문

Procedure, Function - 일반 개발자가 많이 사용하는 형태

 

변수 선언

데이터의 타입을 가져올 수 있는데 변수명은 중요하지 않다. 명시적으로 특정 테이블의 칼럼 타입을

가져오므로 직관적으로 볼 수 있기 때문이다. 하나의 레코드 값을 가질 저장공간을 만든 것

변수 선언
변수 선언

A, B, C는 변수명, 사원 TABLE의 사원명 칼럼의 데이터 타입을 가져온 것이다.


 

먼저 실습을 위한 테이블 작성

테이블 작성 코드
테이블 작성 코드
테이블 실행 결과
테이블 실행 결과
테이블 자료형
테이블 자료형


익명의 프로시저 생성

익명의 프로시저 생성
익명의 프로시저 생성

실제로는 DBMS_OUTPUT.PUT_LINE(); 부분을 작성하지 않음. 

-> why? java에서 코딩할 때 작업을 하기 때문이고, DB에서 결과를 눈으로 확인하기 위해 쓴다.

익명의 프로시저 생성
익명의 프로시저 생성

SHOW ERROR;  --> CMD에서 오류가 떴을 때 몇 번째 라인에서 에러가 발생했는지 확인할 때

SET SERVEROUTPUT ON; --> CMD에서 PL/SQL 결과를 띄우겠는지 여부를 설정

익명의 프로시저 생성 2

익명의 프로시저 생성 2
익명의 프로시저 생성 2
익명의 프로시저 생성 2

익명의 프로시저를 생성하고 SQL파일로 저장한 뒤 (SAVE 파일명. SQL)

해당 SQL파일을 불러올 경우 @파일명을 쓰면 결과를 바로 볼 수 있다. 

 


익명의 프로시저(반복문 사용)

 

익명의 프로시저(반복문 사용)
익명의 프로시저(반복문 사용)
익명의 프로시저(반복문 사용)
익명의 프로시저(반복문 사용)

 


저장 프로시저 (기본적으로 가장 많이 사용하는 프로시저)

저장 프로시저 (기본적으로 가장 많이 사용하는 프로시저)
저장 프로시저 (기본적으로 가장 많이 사용하는 프로시저)

변경 후

변경 후
변경 후

 

변경 후
변경 후


함수 생성(만들기)

함수 생성(만들기)
함수 생성(만들기)
함수 생성(만들기)
함수 생성(만들기)

여러 번 해당 프로시저를 반복하게 되면 컴파일한 내용을 저장해뒀던 것을 호출하므로 속도가 빨라진다.

 


SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기)

 

SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기)
SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기)
SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기) 2
SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기) 2


★ 우리가 가장 많이 사용하는 프로시저(PROCEDURE)는 DML 프로시저(INSERT, UPDATE, DELETE 시키는 프로시저)

 

INSERT 프로시저

INSERT 프로시저
INSERT 프로시저
INSERT 프로시저 결과
INSERT 프로시저 결과


UPDATE 프로시저

 

UPDATE 프로시저
UPDATE 프로시저


DELETE 프로시저

 

DELETE 프로시저
DELETE 프로시저


함수 이용

함수 이용
함수 이용
함수 이용 결과
함수 이용 결과

 

이름을 입력받아 성을 뺀 이름만 반환
이름을 입력받아 성을 뺀 이름만 반환

 

사용자에게 입력 받아서 출력하기
사용자에게 입력 받아서 출력하기
사용자에게 입력 받아서 출력하기 결과
사용자에게 입력 받아서 출력하기 결과

 

주민 번호를 입력 시 성별 변환해주는 함수
주민 번호를 입력 시 성별 변환해주는 함수
주민 번호를 입력 시 성별 변환해주는 함수 결과
주민 번호를 입력 시 성별 변환해주는 함수 결과

 

추가 문제들
추가 문제들


IF문

IF문
IF문
IF문 결과 1
IF문 결과 1
IF문 결과 2
IF문 결과 2


LOOP문 - 반복문

 

LOOP문 - 반복문
LOOP문 - 반복문


FOR문

FOR문
FOR문
FOR문 결과


WHILE문

WHILE문
WHILE문
WHILE문 결과
WHILE문 결과
DO -WHILE
DO -WHILE

 

사용자가 입력한 수의 최솟값부터 최댓값까지의 합 구하기

사용자가 입력한 수의 최솟값부터 최댓값까지의 합 구하기
사용자가 입력한 수의 최솟값부터 최댓값까지의 합 구하기
결과


예외 처리 (EXCEPTION)

 

 

예외처리 1

예외처리 1
예외처리 1

 

예외처리 1
예외처리 1

 

 

예외처리 2

예외처리 2
예외처리 2
예외처리 2
예외처리 2

 

반응형

블로그의 정보

무작정 개발

무작정 개발

활동하기