CREATE FUNCTION에서 SQL 오류 발생(1064)(42000)
MariaDB 데이터베이스에 저장된 함수를 만들려고 합니다.내가 만들려는 함수를 MariaDB Docs에서 복사했습니다.
DELIMITER //
CREATE FUNCTION FortyTwo() RETURNS TINYINT DETERMINISTIC
BEGIN
DECLARE x TINYINT;
SET x = 42;
RETURN x;
END
//
DELIMITER ;
유감스럽게도 다음 오류가 발생합니다.
SQL 오류 [1064] [42000]:SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 3행의 "" 근처에서 사용할 올바른 구문을 확인하십시오.
제가 가장 당황하는 것은 주어진 코드가 MariaDB 문서에 따라 받는 바로 그 오류 코드를 해결해야 한다는 것입니다.
해결책은 DELMITER 명령을 사용하여 프로세스 기간 동안 고유한 구분 기호를 지정하는 것입니다.
알고 보니 제가 명령을 내릴 때 사용했던 고객인 DBeaver가 문제를 일으켰습니다.MySql Workbench로 전환한 후 모든 것이 예상대로 작동했습니다.
분명히, DBeaver는 구분 기호를 올바르게 인식하지 못했습니다.
이 루틴을 저장할 데이터베이스를 선택하는 것을 잊어버렸을 수 있습니다.
추가해 보십시오.use
제1행으로서
use `test`;
DELIMITER //
CREATE FUNCTION FortyTwo() RETURNS TINYINT DETERMINISTIC
BEGIN
DECLARE x TINYINT;
SET x = 42;
RETURN x;
END
//
DELIMITER ;
언급URL : https://stackoverflow.com/questions/66262647/create-function-throws-sql-error-1064-42000
'programing' 카테고리의 다른 글
특정 날짜의 모든 커밋을 보려면 어떻게 해야 합니까? (0) | 2023.07.08 |
---|---|
동적 프로그래밍 - 최대 사각형 블록 (0) | 2023.07.08 |
기본 딕트의 중첩 기본 딕트 (0) | 2023.07.08 |
Vuex 스토어 내에서 일반 작업을 수행하는 가장 좋은 방법은 무엇입니까? (0) | 2023.07.08 |
'System' 유형입니다.개체'가 참조되지 않는 어셈블리에 정의되었습니다. (0) | 2023.07.08 |