함수 생성


내장 함수는 기본적으로 제공되는 함수로 모든 사용자의 원하는 기능을 충족하기에는 부 족한 부분이 있습니다. MySQL은 기본적으로 제공하는 내장 함수 이외에 직접 함수를 정 의하여 생성할 수 있습니다.

CREATE FUNCTION 명령은 사용자 함수를 생성합니다. 생성된 함수는 데이터베이스 시스템에 저장되어 재사용이 가능합니다. 함수를 선언할 때는 함수명, 반환값 타입, SQL 실행 후 RETRUN 값을 반환합니다.

| 쿼리 문법 |

CREATE FUNCTION 함수명(변수 자료형) RETURNS 반환_자료형
BEGIN
	SQL 쿼리1;
	SQL 쿼리2;
	RETURN 반환값
END


25.1.1 쿼리 실습


간단한 사용자 함수를 하나 생성해 보도록 합니다. 다음 함수는 제곱을 처리하는 함수입니다.

| 예제 쿼리 |

CREATE FUNCTION square(a INT) RETURNS DOUBLE
BEGIN
	RETURN a * a;
END

함수를 선언할 때는 입력되는 변수와 타입, 반환되는 데이터 타입을 지정합니다. 직접 콘솔에서 입력하여 실습해 봅니다.

| 콘솔 실습 화면 |

mysql> DELIMITER //
mysql> CREATE FUNCTION square(a INT) RETURNS DOUBLE
    -> BEGIN
    -> RETURN a * a;
    -> END
    -> //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;

mysql> SELECT square(5);
+-----------+
| square(5) |
+-----------+
|        25 |
+-----------+
1 row in set (0.00 sec)

함수를 생성시 반환값의 타입 설정 키워드는 복수형 RETURNS입니다. 함수 안에서의 반 환 키워드는 단수형 RETURN입니다. 2개의 철자를 구분하여 작업합니다.