1. 스토어드 함수
스토어드 프로시저는 다양한 용도로 사용하는 반면 스토어드 함수는 하나의 값만 반환하는 계산에 주로 이용
delimiter $$
create function 스토어드함수이름(매게변수)
returns 반환형식
begin
프로그래밍 코딩
return 반환값;
end$$
delimiter;
select 스토어드함수이름();
이런 구조와 형태를 가짐
본문 안에서 return으로 하나의 값을 반환
call이 아닌 select로 호출
본문 안에서 select를 사용하지 않음
결과를 반드시 반환하는 특성
returns, return 차이를 기억
2. 내장함수
내장함수는 빌트인 함수라고도 하며 MySQL안에 내장된 함수를 의미한다.
3. 스토어드 함수 예제
drop function if exists sumFunc;
delimiter $$
create function sumFund(num1 int, num2 int ) returns int
begin
return num1 + num2;
end$$
delimiter;
select sumFund(100, 200) as 합계;
생성 시 매게변수 입력, 리턴 타입을 정의한다는 점이 다르다.
함수 생성 쪽에서 반환할 값을 정의한다는 부분도 다르다
delimiter$$
create function calcYearFunc(dyear int) returns int
begin
declare runyear int;
set runyear=year(curdate())-dyear;
return runyear;
end$$
delimiter;
select calcYearFunc(2010) as 활동햇수;
3. 스토어드 함수의 사용
select mem_id, mem_name, debut_date, calcYearfunc(year(debut_date)) as 활동햇수
from member order by 활동햇수 desc;
이런 식으로 select한 후 그 값을 계산할 때 이용
4. 함수 반환환값 저장 후 사용
select calcYearfunc(2007) into @a;
select calcYearfunc(20015) into @b;
select @a - @b as 차이;
이렇게 @a, @b에 함수 결과를 저쟁했다가 사용 가능
5. 스토어드 함수 생성할 때 사용된 create문 보기
show creater function calcYearFunc;
6. 스토어드 함수 삭제
drop function clacYearFunc;
'데이터베이스' 카테고리의 다른 글
데이터베이스 입출력 (1) | 2024.06.15 |
---|---|
데이터베이스 9. 스토어드 프로시저 (0) | 2024.06.12 |
데이터베이스 8. 인덱스 (0) | 2024.06.11 |
데이터베이스 7. SQL 파이썬 GUI연 (0) | 2024.06.10 |
데이터베이스 5. 테이블 제약조건, 뷰. (2) | 2024.06.10 |