본문 바로가기
MySql

MySQL 오류 코드 : 1305 MySQL, 기능이 존재하지 않습니다.

by 베이스 공부 2021. 1. 4.
반응형

문제가 있습니다. MySQL에서 String (varchar 데이터 유형)을 반환하는 함수를 만들었습니다.

구문은 다음과 같습니다.

DELIMITER $$
USE `inv_sbmanis`$$
DROP FUNCTION IF EXISTS `SafetyStockChecker`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `SafetyStockChecker`
(jumlah INT, safetystock INT)   
RETURNS VARCHAR(10) CHARSET latin1
BEGIN
DECLARE statbarang VARCHAR(10);
IF jumlah > safetystock THEN SET statbarang = "Stabil";
ELSEIF jumlah = safetystock THEN SET statbarang = "Perhatian";
ELSE SET statbarang = "Kritis";
END IF;
RETURN (statbarang);
END$$
DELIMITER ;

call SafetyStockChecker (16,16) 와 같은 함수를 호출하면 다음 오류가 발생합니다.

Query : SafetyStockChecker (16,16) 호출
Error Code : 1305
PROCEDURE inv_sbmanis.SafetyStockChecker does not exist
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
총 시간 : 00 : 00 : 00 : 000

기능에 어떤 문제가 있습니까?

 

해결 방법

 

이것은 함수를 호출하는 올바른 방법이 아닙니다. 다음은 함수를 호출하는 예입니다.

SELECT SafetyStockChecker(16,16) FROM TableName

지금하고있는 방법은 STORED PROCEDURE 를 호출하는 것입니다. 이것이 오류가 말하는 이유입니다.

PROCEDURE inv_sbmanis.SafetyStockChecker가 존재하지 않습니다.

함수가 아닌 저장 프로 시저를 검색하기 때문입니다.

 

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

 

 

반응형

댓글