MySQL 데이터베이스에서 저장 프로시저는 하나 이상의 SQL 문으로 구성된 프로그램입니다. 이러한 프로그램은 재사용을 위해 데이터베이스에 컴파일되고 저장됩니다. 저장 프로시저는 매개변수를 허용하고 값을 반환할 수 있습니다. 이번 포스팅에서는 mysql 저장프로시저의 반환값에 대해 알아보겠습니다.
MySQL 저장 프로시저의 반환 값을 사용하여 프로그램 실행의 성공 여부를 확인하거나 프로그램 실행 결과를 호출자에게 반환할 수 있습니다. MySQL에는 저장 프로시저의 반환 값에는 정수, 부동 소수점 숫자, 문자열의 세 가지 유형이 있습니다.
정수형의 반환값
mysql에서는 RETURN 문을 사용하여 정수형의 반환값을 반환할 수 있습니다. 정수 유형의 반환 값은 0, 1, 2 등과 같은 정수 값일 수 있습니다. 저장 프로시저가 성공적으로 실행되면 0이 반환되고, 저장 프로시저가 실패하면 0이 아닌 정수 값이 반환됩니다. 사용자 정의 정수 값을 반환하려면 RETURN 문을 사용하여 저장 프로시저에 값을 지정할 수 있습니다.
다음은 정수형 반환 값을 반환하는 저장 프로시저의 예입니다.
DELIMITER $$
CREATE PROCEDURE test()
BEGIN
DECLARE res INT;
SELECT COUNT(*) INTO res FROM users;
IF res>0 THEN
SELECT res;
ELSE
SELECT 0;
END IF;
RETURN 1;
END$$
DELIMITER;
위 예에서 저장 프로시저 테스트는 사용자 테이블의 레코드 수를 계산하고 결과를 res 변수에 저장합니다. res가 0보다 크면 결과가 출력되고, 그렇지 않으면 0이 출력됩니다. 저장 프로시저가 실행된 후 반환 값은 1입니다.
부동 소수점 형식의 반환 값
mysql의 저장 프로시저는 부동 소수점 형식의 반환 값도 지원합니다. 부동 소수점 값을 반환하려면 RETURN 문을 사용하세요. 다음은 float 유형의 반환 값을 반환하는 저장 프로시저의 예입니다.
DELIMITER $$
CREATE PROCEDURE test2()
BEGIN
DECLARE res FLOAT;
SELECT SUM(amount) INTO res FROM Orders;
IF res> 0 THEN
SELECT res;
ELSE
SELECT 0;
END IF;
RETURN 1.0;
END$$
DELIMITER;
위의 예에서 저장 프로시저 test2는 주문 테이블에 있는 모든 주문의 총액을 계산하고 결과를 res 변수에 저장합니다. res가 0보다 크면 결과가 출력되고, 그렇지 않으면 0이 출력됩니다. 저장 프로시저가 실행된 후 반환 값은 1.0입니다.
문자열 유형 반환 값
mysql의 저장 프로시저는 문자열 유형 반환 값도 지원합니다. 문자열 값을 반환하려면 RETURN 문을 사용하세요. 다음은 문자열 형태의 반환값을 반환하는 저장 프로시저의 예이다.
DELIMITER $$
CREATE PROCEDURE test3()
BEGIN
DECLARE res VARCHAR(100);
SELECT name INTO res FROM users WHERE id=1;
IF res IS NOT NULL THEN SELECT res id=1인 사용자의 이름을 가져오고 결과를 res 변수에 저장합니다. res가 비어 있지 않으면 결과가 출력되고, 그렇지 않으면 "unknown"이 출력됩니다. 저장 프로시저가 실행된 후 반환 값은 "Hello, World"입니다.
요약
MySQL 저장 프로시저의 반환 값은 프로그램 실행의 성공 또는 실패를 확인하거나 프로그램 실행 결과를 호출자에게 반환하는 데 사용될 수 있습니다. MySQL에는 저장 프로시저의 반환 값에는 정수, 부동 소수점 숫자, 문자열의 세 가지 유형이 있습니다. 반환 값을 반환하려면 RETURN 문을 사용하고 적절한 값을 지정합니다.
위는 mysql 저장 프로시저의 반환 값에 대한 자세한 소개입니다. 저장 프로시저는 SQL문의 실행 효율성과 코드 재사용률을 향상시킬 수 있으므로 저장 프로시저를 익히는 것은 데이터베이스 개발 효율성을 높이는 데 큰 도움이 됩니다.
위 내용은 mysql 저장 프로시저의 반환 값에 대해 이야기해 봅시다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!