Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 저장 프로시저:out 매개변수?

<시간/>

다음은 입력(IN)에 대한 하나의 매개변수와 출력(OUT)에 대한 두 번째 매개변수를 취하는 저장 프로시저입니다.

mysql> delimiter //
mysql> create procedure Sp_SQRT(IN Number1 INT, OUT Number2 FLOAT)
   -> Begin
   -> set Number2=sqrt(Number1);
   -> end;
   -> //
Query OK, 0 rows affected (0.24 sec)
mysql> delimiter ;

저장 프로시저를 호출하고 값을 사용자 변수로 보냅니다. 구문은 다음과 같습니다.

CALL yourStoredProcedureName(anyIntegerValue,@anyVariableName);

@anyVariableName 변수에 어떤 값이 저장되어 있는지 확인하십시오. 구문은 다음과 같습니다.

SELECT @anyVariableName;

이름이 'Sp_SQRT'인 저장 프로시저를 만들었습니다. 저장 프로시저를 호출하는 쿼리는 다음과 같습니다.

mysql> call Sp_SQRT(36,@MySquareRootNumber);
Query OK, 0 rows affected (0.02 sec)

select 문을 사용하여 @MySquareRootNumber 변수 값 확인

mysql> select @MySquareRootNumber;

다음은 출력입니다.

+---------------------+
| @MySquareRootNumber |
+---------------------+
|                   6 |
+---------------------+
1 row in set (0.00 sec)