본문 바로가기

SQL

[MySql_mariaDB] 스토어드 함수 Function

* 스토어드함수

> MySQL이 사용자가 원하는 함수를 전부 제공하지 않으므로, 필요에 따라 직접 만들어서 사용하는 함수를 스토어드 함수라 한다.

 

* 스토어드 함수의 특징

1. 스토어드 프로시저와 달리 IN, OUT 등을 사용할 수 없다. 스토어드 함수의 파라미터는 모두 입력 파라미터로 사용된다.

2. RETURNS문으로 하나의 값을 반환해야 한다. 프로시저는 별도의 반환하는 구문이 없으며, 꼭 필요하다면 OUT 파라미터를 사용해서 값을 반환한다.

3. 스토어드 프로시저는 CALL로 호출하지만, 스토어드 함수는 SELECT 문장 안에서 호출된다.

4. 스토어드 프로시저 안에는 select 문을 사용할 수 있지만, 스토어드 함수 안에서는 집합 결과를 반환하는 select를 사용할 수 없다.

* select … into…는 집합 결과를 반환하는 것이 아니므로 예외적으로 스토어드 함수에서 사용할 수 있다.

5. 프로시저는 여러 SQL문장이나 숫자 계산 등의 다양한 용도로 쓰이지만, 함수는 어떤 계산을 통해 하나의 값을 반환하는데 주로 사용된다.

 

두개의 합을 구하는 함수

 

나이를 구하는 함수

7. declare : 지역변수

 

15~18. @전역변수

나이차

 

함수는 주로 테이블을 조회할 때 사용된다.

 

함수의 내용 확인 쿼리

 

함수 삭제 DROP