본문 바로가기
MySql

MySQL 저장 프로 시저 반환 값

by 베이스 공부 2020. 11. 29.
반응형

유효한지 여부를 반환하는 SP를 만들어야합니다. 하지만 아무것도 반환하지 않고 모르겠습니다. 왜?

CREATE DEFINER=`root`@`localhost` PROCEDURE `validar_egreso`(
    IN codigo_producto VARCHAR(100),
    IN cantidad INT,
    OUT valido INT(11)
)
BEGIN
    DECLARE resta INT(11);
    SET resta = 0;

    SELECT (s.stock - cantidad) INTO resta
    FROM stock AS s
    WHERE codigo_producto = s.codigo;

    IF (resta > s.stock_minimo) THEN
        SET valido = 1;
    ELSE
        SET valido = -1;
    END IF;
    SELECT valido;
END

 

해결 방법

 

저장 프로 시저를 올바르게 수행했지만 valido 변수를 제대로 참조하지 않은 것 같습니다. 몇 가지 예를 살펴 보았는데 @Valido 와 같은 매개 변수 앞에 @ 기호를 넣었습니다.

이 문은 SELECT valido; 와 같아야합니다. SELECT @valido;


나는 그것이 당신에게 효과가 있기를 바랍니다. 투표를하고 답으로 표시하면됩니다. 그렇지 않다면 말해주세요.

 

참조 페이지 https://stackoverflow.com/questions/26760414

 

 

반응형

댓글