변수 선언


사용자 정의 함수에서는 내부적으로 사용할 수 있는 변수를 정의할 수 있습니다. 함수 내 부에서 변수를 정의할 때는 DECLARE 키워드를 사용합니다.

| 쿼리 문법 |

DECLARE 변수명 자료형; 

선언한 변수 값의 대입은 INTO 명령을 사용합니다.


25.3.1 쿼리 실습


변수의 기능을 통하여 사용자 정의 함수를 만들어 실행해 보도록 합니다.

| 예제 쿼리 |

CREATE FUNCTION test(a INT) RETURNS DOUBLE
BEGIN
DECLARE s DOUBLE;
SELECT a * a INTO s;
RETURN s;
END

위이 예에서는 변수 s를 하나 생성했습니다. Select에서 연산 처리한 값을 INTO s문을 통하여 변수 s에 저장합니다. 저장한 변수를 반환값으로 리턴합니다.

| 콘솔 실습 화면 |

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

mysql> SELECT test(3);
+---------+
| test(3) |
+---------+
|       9 |
+---------+
1 row in set (0.01 sec)

mysql>

정상적으로 제곱 값이 출력되었습니다.