MySQL 저장 프로시저의 변수 범위는 무엇을 의미합니까?

王林
풀어 주다: 2023-08-26 16:49:11
앞으로
591명이 탐색했습니다.

MySQL 저장 프로시저의 변수 범위는 무엇을 의미합니까?

BEGIN/END 블록 내부에 변수를 선언하면 해당 변수의 범위가 이 특정 블록에 있다고 가정합니다. 다른 BEGIN/END 블록 내에 동일한 이름의 변수를 선언할 수도 있습니다. 이는 완전히 합법적이지만 해당 범위는 BEGIN/END 블록 내에 있습니다. 이는 변수의 범위를 표시하는 프로시저를 생성하는 다음 예제를 통해 이해할 수 있습니다. -

Example

mysql> Create Procedure Scope_variables()
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'outer';
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'inner';
    -> SELECT A;
    -> END;
    -> SELECT A;
    -> END;
    -> //
Query OK, 0 rows affected (0.08 sec)
로그인 후 복사

위 프로시저에는 A라는 동일한 이름을 가진 두 개의 변수가 있습니다. 여기서는 내부 변수가 범위 내에서 선언된 한 우선순위를 갖습니다. 요점은 첫 번째 END에 도달하면 내부 변수가 사라지고 "범위를 벗어났다"고 말하는 것입니다. 이 개념을 이해하려면 이 프로세스를 다음과 같이 호출하세요. -

mysql> CALL Scope_variables();
+-------+
| A     |
+-------+
| inner |
+-------+
1 row in set (0.00 sec)

+-------+
| A     |
+-------+
| outer |
+-------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)
로그인 후 복사

위 내용은 MySQL 저장 프로시저의 변수 범위는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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