변수 선언
사용자 정의 함수에서는 내부적으로 사용할 수 있는 변수를 정의할 수 있습니다. 함수 내 부에서 변수를 정의할 때는 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>
정상적으로 제곱 값이 출력되었습니다.