BackendSquid / RealMySQL

Real MySQL 을 다같이 공부하는 공간
9 stars 1 forks source link

Ch14 스토어드 프로그램 #30

Closed kihyuk-sung closed 2 years ago

kihyuk-sung commented 2 years ago
kihyuk-sung commented 2 years ago

스토어드 프로그램 장단점

장점

sanhee commented 2 years ago

MySQL에서는 절차적인 처리를 위해 스토어드 프로그램을 이용할 수 있다.

janeljs commented 2 years ago

스토어드 프로그램

누가쓰지?

ghojeong commented 2 years ago

스토어드 프로그램

장단점

스토어드 프로그램의 문법

p297, 자세한 설명은 생략한다.
유지보수하기에 좋지 않다고 생각하기에 차라리 JPA 를 공부하는게 낫지 않을까 라는 생각이 들었다.

스토어드 프로시저

CREATE PROCEDURE

여러 쿼리를 하나의 그룹으로 묶어서 독립적으로 실행

스토어드 함수

CREATE FUNCTION

하나의 SQL 문장으로 불가능한 기능을 하나의 SQL 문장으로 구현하려 함

트리거

CREATE TRIGGER

미리 정의해둔 작업을 자동으로 실행

이벤트

CREATE EVENT

특정 시간에 스토어드 프로그램을 실행할 수 있는 스케줄러 기능

스토어드 프르그램 Body 작성

공통으로 사용하는 제어문들

jihye-woo commented 2 years ago

스토어드 프로그램 장단점

장점

단점

스토어드 프로그램 문법

구성

주의

스토어드 프로시저

생성 및 삭제

-- 생성
CREATE PROCEDURE sp_sum (IN param1 INTEGER, INOUT param2 INTEGER, OUT param3 INTEGER)
    BEGIN
      SET param3 = param1 + param2
      SET param2 = param2 + 1
    END ;;
-- 삭제
DROP PROCEDURE sp_sum
-- 수정
ALTER PROCEDURE sp_sum SQL SECURITY DEFINER;

프로시저 실행

프로시저 딕셔너리

스토어드 함수

사용/생성/변경/삭제

  1. 사용

    SELECT dept_no, sf_getRecentEmp(dept_no)
    FROM dept_emp
    GROUP BY dept_no;
  2. 생성

    CREATE FUNCTION sf_sum(param1 INTEGER, param2 INTEGER)
    RETURNS INTEGER
    BEGIN
    DECLARE param3 INTEGER DEFAULT 0;
    SET param3 = param1 + param2;
    RETURN param3;
    END;;
    • 모든 입력 파라미터는 읽기 전용 -> IN, OUT, INOUT 개념 없음
    • 정의부에 REUTNRS로 반환되는 값의 타입을 명시하고, 정의부 마지막에 RETURN하는 값이 동일한 타입으로 지정되어있어야 함
    • 정의부 BEGIN ~ END 사이에서의 제한사항은 306p 참고
  3. 변경

    ALTER FUNCTION sf_sum SQL SECRUITY DEFINER;
    • 스토어드 함수 특성만 변경 가능
    • 파라미터나 내용 변경은 불가능 (삭제후 재생성)
  4. 삭제

    DROP FUNCTION sf_sum;

    스토어드 함수 실행

    • CALL 대신 SELECT 명령으로 실행
      SELECT sf_sum(1,2);

트리거

이벤트

BEGIN .. END 블록과 트랜잭션

moto6 commented 2 years ago

스토어드

14.1 스토어드 프로그램의 장단점

14.1.1 스토어드 프로그램의 장점

14.1.2 스토어드 프로그램의 단점

14.2.2 스토어드 프로시저

14.2.3 스토어드 함수

스토어드 함수 생성과 삭제

스토어드 함수 VS 스토어드 프로시져 차이점 두가지

14.2.4 트리거

14.2.5 이벤트

변수

제어문

polynomeer commented 2 years ago

14.1 스토어드 프로그램의 장단점

장점

단점

14.2 스토어드 프로그램의 문법

스토어드 프로시저

스토어드 함수

2명의 사원 번호만 SELECT하고 문자열로 결합하려면 스토어드 함수없이 어떻게?

트리거

이벤트

Q) @Scheduled vs cron? Q) 쉘 스크립트 vs 파이썬 및 Golang 스크립트, 쉘 스크립트 활용 전망? Q) RDB가 아니라면, MongoDB 에서는?

SQL의 문법을 확장해서 스토어드 프로그램의 기능을 일부 포함할 정도가 된다면 사용할만할 것 같다.