함수 생성
내장 함수는 기본적으로 제공되는 함수로 모든 사용자의 원하는 기능을 충족하기에는 부 족한 부분이 있습니다. 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개의 철자를 구분하여 작업합니다.