본문 바로가기
웹개발일지/Database

MYSQL DELIMITER / PROCEDURE / EVENT SCHEDULE

by 경험을 기록으로 2020. 8. 24.
반응형

MYSQL에서 DELIMITER를 사용하는 이유는

프로시저(PROCEDURE)든 트리거(TRIGGER)든 실행시키고 싶은 기능이 복수의 SQL문을 넣어야 할 경우,

시작점부터 끝까지 하나의 실행 구문으로 구분 짓기 위해서이다.

DELIMITER라는 단어 자체가 구분자라는 뜻이다. (delimit : 구분 / delimiter : 구분자)

 

사용법은 아래와 같다.

DELIMITER(구분자) 다음으로 $$ 또는 // 또는 ^^ 뭘 넣든 마음대로 적어넣으면 된다.

다만 $$로 시작하면 끝 지점에서도 $$로 닫아줘야 그 안의 실행문이 실행이 된다. (같은 기호로 닫아줘야 함)

SQL문 자체도 에러없이 PROCEDURE(프로시저)가 등록이 된다.

 

DELIMITER $$
CREATE PROCEDURE addRow()
BEGIN
	INSERT INTO member(memberId, memberName, memberAddress) VALUES("멤버아이디", "멤버명", "멤버 거주지(주소)");
END $$
DELIMITER ;

 

프로시저란 MYSQL(DB)안에서 기능을 수행하는 함수(메소드)와 같은 느낌이다.

CREATE PROCEDURE 로 선언하고 프로시저 명(함수명) 그리고 BEGIN과 END 사이에 넣고 싶은 기능을 넣거나 입력하면 된다.

 

CREATE PROCEDURE addRow() // addRow 라는 프로시저를 만들겠다.

BEGIN // 시작한다

~~~~~~~ 수행할 기능을 입력 (예: INSERT, SELECT, UPDATE, DELETE) ~~~~~~~ 

END // 끝을 알린다. 

반응형
LIST

'웹개발일지 > Database' 카테고리의 다른 글

MySQL 자동 데이터 삭제  (0) 2020.08.24

댓글