[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
익명의 프로시저를 생성하고 SQL파일로 저장한 뒤 (SAVE 파일명. SQL)
해당 SQL파일을 불러올 경우 @파일명을 쓰면 결과를 바로 볼 수 있다.
익명의 프로시저(반복문 사용)
저장 프로시저 (기본적으로 가장 많이 사용하는 프로시저)
변경 후
함수 생성(만들기)
여러 번 해당 프로시저를 반복하게 되면 컴파일한 내용을 저장해뒀던 것을 호출하므로 속도가 빨라진다.
SCRIPT - (SQL파일로 생성해서 CMD창에서 실행하기)
★ 우리가 가장 많이 사용하는 프로시저(PROCEDURE)는 DML 프로시저(INSERT, UPDATE, DELETE 시키는 프로시저)
INSERT 프로시저
UPDATE 프로시저
DELETE 프로시저
함수 이용
IF문
LOOP문 - 반복문
FOR문
WHILE문
사용자가 입력한 수의 최솟값부터 최댓값까지의 합 구하기
예외 처리 (EXCEPTION)
예외처리 1
예외처리 2
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] Windows 10 오라클 19c 설치 및 세팅 방법 (0) | 2023.03.13 |
---|---|
[PL/SQL] 커서(CURSOR), 패키지, 트리커(TRIGGER) (0) | 2022.02.04 |
[오라클] 제약 조건, View (0) | 2022.01.28 |
[오라클] DDL, DCL, ROLE (0) | 2022.01.27 |
SQL 연습 문제 풀이 (3) (0) | 2022.01.27 |
블로그의 정보
무작정 개발
무작정 개발