/ LECTURE

SQL - PL/SQL / ACCESS DB

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

49일차 수업

REGEXP_LIKE

SELECT column(s)
FROM table
WHERE REGEXP_LIKE(column, pattern);

PL/SQL

SQL 순차적 처리하기 위한 확장된 언어

여러 SQL 문장들을 하나의 블록으로 묶어서 한번에 처리하기때문에 성능이 향상됨

유형

  • 익명 블록 : 이름 없이 1회 실행하는 유형

  • 프로시저 : 이름이 있고, 반복된 로직을 실행하는 유형

  • 함수 : 리턴 개념까지 사용하는 유형

DECLARE
-- PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 영역
변수이름 데이터타입;
-- 해당 컬럼의 데이터 타입과 동일하게 선언하고 싶다면 ‘테이블명.컬럼명%TYPE’으로 선언
변수이름 데이터타입 := ;
변수이름 데이터타입 DEFAULT 기본값;
BEGIN
-- 순차적으로 실행할 SQL문을 작성하는 영역, 제어문, 반복문, 함수 등등

-----------------
    -- IF
    IF 조건식 THEN 실행문
    ELSIF 조건식 THEN 실행문
    ELSE 실행문
    END IF;
    
    -- 반복문
    LOOP
    IF 조건식 THEN EXIT;
    END IF;
    실행문
    END LOOP;
    
    -- FOR
    FOR i IN minnum..maxnum LOOP
    실행문
    END LOOP;
    EXCEPTION
    -- 에러가 발생했을 때 처리하는 영역
-----------------

END;
-- 종료 선언

PL/SQL 을 통해 실행 시, 세부 실행 내용은 나오지 않고 실행되었는지, 오류났는지만 출력 기본 설정으로 되어있음

  • 출력하고싶을 때 : SET serveroutput ON 으로 경로를 재지정해준 다음, DBMS_OUTPUT.PUT_LINE(‘출력할 내용’); 으로 원하는 내용 출력

JSP 프로젝트에서 오라클 데이터베이스 접근하기

<%@ page contentType=“text/html;charset=UTF-8” language=“java”%>
<%@ page import=“java.sql.*”%>
<%@ page import=“java.io.*”%>
<%
// 드라이버 로딩
Class.forName(“oracle.jdbc.OracleDriver”);
// 연결 객체를 선언하고 드라이버로부터 가져온다
Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:데이터베이스”, 계정”, 비밀번호”);
// SQL 문장 만들기
String sql = “select * from emp”;
// SQL 문장 실행시키기
PreparedStatement ps = conn.prepareStatement(sql);
// PreparedStatement : 반복코드를 실행할  한번만 처음부터 컴파일하고  다음부터는 캐시
// Statement : 반복 코드를 실행할 때마다 항상 처음부터 다시 만든다
// 호출
ResultSet rs = ps.executeQuery();
%>

JDBC

자바에서 데이터베이스에 접근하기 위해 만든 API

위의 과정을 하기 위해서는 데이터베이스에 맞는 jar 파일이 필요함