반응형

'MySQL delimiter'에 해당되는 글 1건

  1. 2017.12.27 MySQL 저장함수.

MySQL 저장함수.

MySQL 2017. 12. 27. 10:35
반응형

MySQL 저장함수.

 

MySQL 저장 함수란 무엇인가?

저장 함수는 저장 프로시저와 거의 흡사합니다. 저장 프로시저와 유일하게 다른 점은 실행 했을 때 값을 반환한다는 점입니다.

저장 함수를 사용하면 자신만의 함수를 만들 수가 있습니다. 저장 함수는 사용자 정의 함수라고도 합니다.

다음은 저장 함수를 작성하는 구문입니다.

create function 저장함수이름(인수명 자료형) returns 반환값의 자료형

begin

           sql 문;

           Return 반환값식;

end

저장 프로시저와 마찬가지로 괄호안에 인수를 대입할 수 있습니다. 인수를 대입하지 않아도 괄호는 입력해야 합니다.

 

저장 함수로 표준 체중 계산하기.

BMI(Body Mass Index) = 22가 표준 체중이라고 했을 때 다음과 같은 식이 성립합니다.

표준 체중 = 신장(cm 단위) * 신장(cm 단위) * 22/10000

이 식을 이용해서 저장 함수 function_01( )을 만들어 보겠습니다.

delimiter //

create function function_01(height int) returns double

begin

return height * height * 22/10000;

end

//

delimiter ;

select function_01(173);

위와 같이 저장 함수를 호출할 때는 call 이 아니라 select 를 사용합니다.

 

레코드의 평균값을 반환하는 저장 함수.

특정 테이블에서 특정 컬럼의 평균값을 반환하는 함수를 저장 함수로 만들어 보겠습니다.

이런 함수는 미리 만들어 두면 꽤 편리하게 사용할 수 있습니다.

table_member에서 컬럼 age의 평균을 반환하는 저장 함수 function_avgAge를 생성해 보겠습니다.

delimiter //

create function function_avgAge( ) returns double

begin

declare a double;

select avg(age) into a from table_member;

return a;

end

//

delimiter ;

 

select function_avgAge( );

위에 declare a double 은 변수 a double형으로 선언한 것이고 avg(age) into a 는 평균을 구한 값을  a에 할당한다는 의미 입니다.

 

저장 함수의 내용 표시하기.

저장 함수의 내용을 표시하는 명령어는 다음과 같습니다.

Show create function 저장함수명;

 

show create function function_avgAge;

 

저장 함수 삭제하기.

저장 함수를 삭제하는 방법은 다음 명령어를 사용합니다.

drop function 저장함수명;

 

drop function function_avgAge;

 

 

 

 

반응형

'MySQL' 카테고리의 다른 글

MySQL 저장엔진.  (0) 2017.12.29
MySQL 트리거(trigger).  (0) 2017.12.28
MySQL 저장 프로시저 활용하기.  (0) 2017.12.18
MySQL 뷰 이용하기.  (0) 2017.12.13
MySQL SELECT한 레코드에서 또 SELECT하기 – 하위 질의  (0) 2017.12.11
Posted by 컴스터
,


반응형