저장 프로시저와 함수를 호출하는 방법은 다양합니다. 저장 프로시저는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!