본문 바로가기
DB/MySQL

(MySQL/DB) 함수

by windy7271 2023. 3. 3.
728x90
반응형

타 언어의 함수랑 그냥 똑같다.

특정 작업을 수행하고 값을반환 하는 저장 프로시저다.

일반적으로 db에서 미리 정의된 작업을 수행하거나, 사용자가 필요한 작업을 수행할때 사용된다.

 

프로시저와 매우 유사하지만, 값을 반환하고, 외부에서 호출할 때 사용된다. 

 

CREATE function 이름 (매개변수) RETUNRS '타입'
begin
     return '결과값'
end

 

과목명을 주면, 해당 과목의 수강 학생수를 반환하는 함수 만들기.

1. Query 작성

2 입력 파라미터 설정, 리턴타입 정의

3 Begin ~ End 사이 Query 

 

1. query
selelct count(*) from Enroll
where subject = (select id from subject where name = "역사");

"역사" >> 입력값

 

delemeter $$
Create function f_student_count(_name 타입(varchar(100)))
 RETURNS int 
Begin
	return (selelct count(*) from Enroll
		where subject = (select id from subject where name = "역사"));
END $$
delemeter ;


select f_student_count("역사") >> ???명
select name, f_student_count(name) from Subject ;
>>> name 이 매개변수로 들어가서 과목마다 명수가 나옴

 

반응형

댓글