반응형
문제가 있습니다. 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
반응형
'MySql' 카테고리의 다른 글
MySQL 테이블 생성시 SQL 정수 범위 (0) | 2021.01.04 |
---|---|
MySQL 다시 시작하지 않고 MySQL이 my.cnf를 다시 읽도록 만드는 방법은 무엇입니까? (0) | 2021.01.04 |
MySQL mysqldump는 덤프 중간에 "drop database"문을 삽입합니다. (0) | 2021.01.04 |
MySQL INNER JOIN 후 여러 테이블에서 최대 날짜 가져 오기 (0) | 2021.01.04 |
MySQL 정의되지 않은 함수 session_register () 호출 (0) | 2021.01.04 |
댓글