* 스토어드함수
> MySQL이 사용자가 원하는 함수를 전부 제공하지 않으므로, 필요에 따라 직접 만들어서 사용하는 함수를 스토어드 함수라 한다.
* 스토어드 함수의 특징
1. 스토어드 프로시저와 달리 IN, OUT 등을 사용할 수 없다. 스토어드 함수의 파라미터는 모두 입력 파라미터로 사용된다.
2. RETURNS문으로 하나의 값을 반환해야 한다. 프로시저는 별도의 반환하는 구문이 없으며, 꼭 필요하다면 OUT 파라미터를 사용해서 값을 반환한다.
3. 스토어드 프로시저는 CALL로 호출하지만, 스토어드 함수는 SELECT 문장 안에서 호출된다.
4. 스토어드 프로시저 안에는 select 문을 사용할 수 있지만, 스토어드 함수 안에서는 집합 결과를 반환하는 select를 사용할 수 없다.
* select … into…는 집합 결과를 반환하는 것이 아니므로 예외적으로 스토어드 함수에서 사용할 수 있다.
5. 프로시저는 여러 SQL문장이나 숫자 계산 등의 다양한 용도로 쓰이지만, 함수는 어떤 계산을 통해 하나의 값을 반환하는데 주로 사용된다.
두개의 합을 구하는 함수
나이를 구하는 함수
7. declare : 지역변수
15~18. @전역변수
나이차
함수는 주로 테이블을 조회할 때 사용된다.
함수의 내용 확인 쿼리
함수 삭제 DROP
'SQL' 카테고리의 다른 글
[MySQL_MariaDB] 전체텍스트 검색과 파티션 (0) | 2021.03.17 |
---|---|
[MySQL_MariaDB] 커서_loop_select 한줄한줄 읽으며 처리 (0) | 2021.03.16 |
[SQL] JOIN 조인 (0) | 2021.03.14 |
[mariadb_mysql] 대량의데이터(TEXT,CLOB) (0) | 2021.03.13 |
[mysql_mariadb] 내장함수_foreignkey수정 (0) | 2021.03.12 |