> 데이터 베이스 > MySQL 튜토리얼 > MySQL 호출 저장 프로시저 및 함수에 대한 자세한 설명(사례)

MySQL 호출 저장 프로시저 및 함수에 대한 자세한 설명(사례)

coldplay.xixi
풀어 주다: 2021-03-26 09:17:21
앞으로
4119명이 탐색했습니다.

MySQL 호출 저장 프로시저 및 함수에 대한 자세한 설명(사례)

저장 프로시저와 함수를 호출하는 방법은 다양합니다. 저장 프로시저는 call 문을 사용하여 호출해야 하며, 저장 프로시저는 데이터베이스와 관련되어 있습니다. 다른 데이터베이스에서 저장 프로시저를 실행하려면 데이터베이스 이름을 지정해야 합니다. 예를 들어 dbname.procname을 호출합니다. 저장된 함수는 MySQL의 사전 정의된 함수와 동일한 방식으로 호출됩니다.

(무료 학습 권장사항: mysql 동영상 튜토리얼)

1. 저장 프로시저 호출

저장 프로시저는 call 문을 통해 호출됩니다.

call sp_name([parameter[,...])
로그인 후 복사

The call 문은 이전에 create 프로시저로 생성된 저장 프로시저를 호출합니다. 여기서 sp_name은 저장 프로시저의 이름이고 매개 변수는 저장 프로시저의 매개 변수입니다.

【예제 1】CountProcl이라는 저장 프로시저를 정의한 후 이 저장 프로시저를 호출합니다.

저장 프로시저 정의:

mysql> delimiter //mysql> create procedure CountProcl(in sid int ,out num int)
    -> begin
    -> select count(*) into num from fruits where s_id = sid;
    -> end //Query OK, 0 rows affected (0.06 sec)mysql> delimiter ;
로그인 후 복사

저장 프로시저 호출:

mysql> call CountProcl (101,@num);Query OK, 1 row affected (0.08 sec)
로그인 후 복사

반환된 결과 보기:

mysql> select @num;+------+| @num |+------+|    3 |+------+1 row in set (0.00 sec)
로그인 후 복사

저장 프로시저는 s_id=101을 지정하여 과일 공급업체에서 제공한 과일 유형을 반환합니다. num 변수, 선택 보기를 사용하면 반환된 결과는 3입니다.

2. 저장 함수 호출

MySQL에서 저장 함수의 사용은 MySQL 내부 함수의 사용과 동일합니다. 즉, 사용자 정의 저장 함수와 MySQL 내부 함수는 동일한 성격을 갖습니다.

[예제 2] 저장 함수 CountProc2를 정의한 후 이 함수를 호출합니다. 코드는 다음과 같습니다.

mysql> delimiter //mysql> create function CountProc2 (sid int)
    -> returns int
    -> begin
    -> return (select count(*) from fruits where s_id = sid);
    -> end//Query OK, 0 rows affected (0.06 sec)mysql> delimiter ;
로그인 후 복사

저장 함수 호출:

mysql> delimiter ;mysql> select CountProc2(101);+-----------------+| CountProc2(101) |+-----------------+|               3 |+-----------------+1 row in set (0.05 sec)
로그인 후 복사

이 예는 이전 예와 동일한 결과를 반환하는 것을 볼 수 있습니다. 저장 기능과 저장 절차는 약간 다르게 정의되지만 동일한 기능을 달성합니다.

더 많은 관련 무료 학습 권장사항: mysql 튜토리얼(동영상)

위 내용은 MySQL 호출 저장 프로시저 및 함수에 대한 자세한 설명(사례)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿