sequel pro를 사용해 MySQL을 쓸 때 사용자 지정 함수를 생성하는 방법은 다음과 같다.

DROP FUNCTION 'ufn_board_no'
delimiter ||
CREATE DEFINER=`test`@`%` FUNCTION `ufn_board_no`() RETURNS int(11)
BEGIN
	DECLARE v_result INT(11);
	SELECT MAX(a.no) + 1 INTO v_result 
	   FROM table_sequense a
	WHERE 1=1
	      AND a.name='board_no';
	if v_result is null then
		set v_result = 1;
	end if;
	INSERT INTO TABLE_SEQUENSE (`no`, `name`) VALUES (v_result, 'board_no');
	RETURN (v_result);
END;
||
delimiter;

 

기존에 있는 함수의 syntax를 확인하면 다음과 같다.

CREATE DEFINER=`test`@`%` FUNCTION `ufn_board_no`() RETURNS int(11)
BEGIN
	DECLARE v_result INT(11);
	SELECT MAX(a.no) + 1 INTO v_result 
	   FROM table_sequense a
	WHERE 1=1
	      AND a.name='board_no';
	if v_result is null then
		set v_result = 1;
	end if;
	INSERT INTO TABLE_SEQUENSE (`no`, `name`) VALUES (v_result, 'board_no');
	RETURN (v_result);
END;

 새로 함수를 생성하려면 Query 탭에서 제일 위의 코드와 같이 다음 코드를 추가해주면 된다.

DROP FUNCTION 'ufn_board_no'
delimiter ||

||
delimiter;

+ Recent posts