반응형
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 |
---|
댓글