mysql 저장 프로세스 생성(CREATE PROCEDURE) 및 호출(CALL) 및 변수 생성(DECLARE) 및 할당(SET) 작업 방법
저장 프로세스 생성(CREATE PROCEDURE) 및 호출(CALL)
이것은 우리가 정의라든지 용어라든지 말하지 않고 직접 실례를 보고 천천히 그것을 익히자.끝났습니다. GetAllProducts () 라는 간단한 저장 프로세스를 만듭니다. 이 GetAllProducts () 저장 프로세스는 주로 제품 테이블에서 모든 제품을 선택하는 데 사용됩니다.mysql 클라이언트 도구를 시작하고 다음 명령을 입력하십시오.
DELIMITER //
CREATE PROCEDURE GetAllProducts()
BEGIN
SELECT * FROM products;
END //
DELIMITER ;
우리 위의 ql를 자세히 봅시다.
4
4
4
위의 sql를 통해 우리는 저장 프로세스를 만들었다고 할 수 있다. 일이 끝나면 저장 프로세스를 호출하고 다음 호출 문법을 살펴보자.
CALL STORED_PROCEDURE_NAME();
GetAllProducts() 스토리지 프로세스를 호출하는 구체적인 sql에 대해 살펴보겠습니다.
CALL GetAllProducts();
위의 ql를 실행하면 저장 과정 중의 ql의 실행 결과를 볼 수 있습니다.
변수 생성(DECLARE) 및 지정(SET)
우리는 변수가 명명된 데이터 대상이라는 것을 알고 있으며, 변수의 값은 저장 과정이 실행되는 동안 변경할 수 있다.우리는 다음에 저장 과정 중의 변수를 사용하여 직접/간접 결과를 저장하려고 시도한다.이러한 변수는 저장 프로세스의 로컬 변수이지만, 변수는 반드시 먼저 성명한 후에야 그것을 사용할 수 있다는 것을 주의해야 한다.그러나 저장 과정에서 변수를 설명하려면 DECLARE 문장을 사용하여 다음 sql 문법을 볼 수 있습니다.
DECLARE variable_name datatype(size) DEFAULT default_value;
위의 ql가 구체적으로 무슨 뜻인지 살펴보자.
4
4
마지막으로 변수를 선언할 때 초기 값은 NULL입니다.하지만 DEFAULT 키워드를 사용하여 변수에 기본값을 할당할 수 있습니다
저희가 이어서 토탈이라는 이름을...sale의 변수, 데이터 유형은 INT이고 기본값은 0입니다.다음 sql 보기:
DECLARE total_sale INT DEFAULT 0;
그 중에서 mysql은 하나의 DECLARE 문장으로 같은 데이터 형식의 두 개 이상의 변수를 공유할 수 있습니다. 이것은 하나의 sql를 보십시오.
DECLARE x, y INT DEFAULT 0;
위의 ql에서 우리는 두 개의 정수 변수 x와 y를 설명하고 기본값을 0으로 설정합니다.끝났습니다. 변수 설정이 끝났으니 그 다음에 값을 분배해야 합니다. 만약에 변수에 값을 분배하려면 SET 문장을 사용해서 실례를 볼 수 있습니다.
DECLARE total_count INT DEFAULT 0;
SET total_count = 10;
위의 ql문장에서 우리는 total 을 분배한다count 변수의 값은 10입니다.작업을 마치면 SET 문 외에도 SELECT INTO 문을 사용하여 인스턴스를 볼 때 질의 결과를 변수에 지정할 수 있습니다.
DECLARE total_products INT DEFAULT 0
SELECT COUNT(*) INTO total_products
FROM products
위의 ql에서 우리는 다음과 같이 이해해야 한다.
4
4
우리는 변수가 자신의 생명 주기를 정의하는 데 사용되는 범위(작용역)가 있다는 것을 안다.그러나 저장 과정에서 변수를 성명하면 저장 과정의 END 문장에 도달할 때 범위를 넘어서 다른 코드 블록에 접근할 수 없습니다.
만약 우리가 BEGIN END 블록에서 변수를 성명한다면, END에 도달하면, 그것은 범위를 넘어설 것이다.우리는 또한 서로 다른 작용역에서 같은 명칭을 가진 두 개 이상의 변수를 성명할 수 있다. 왜냐하면 변수는 자신의 작용역에서만 유효하기 때문이다.그러나 서로 다른 범위 내에서 같은 이름을 가진 변수를 성명하는 것은 좋은 프로그래밍 습관이 아니다.여기서 @ 기호로 시작하는 변수는 세션이 끝날 때까지 사용할 수 있고 접근할 수 있는 세션 변수입니다.
더 많은 MySQL 관련 내용에 관심이 있는 독자들은 본 사이트의 주제를 보실 수 있습니다.,,,,,, 및,
본고에서 서술한 것이 여러분의 MySQL 데이터베이스 계산에 도움이 되었으면 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.