반응형
MySQL/MariaDB: 케이스 스테이트먼트를 사용하여 프로시저를 만들 수 없습니다.
MySQL의 케이스 스테이트먼트에 어려움을 겪고 있습니다.프로시저에서 사용하고 싶지만 프로시저를 작성하려고 할 때마다 오류가 발생합니다(#1064: SQL 구문에 오류가 있습니다.MariaDB 서버 버전에 대응하는 매뉴얼에서 4행의 near " 를 사용하는 올바른 구문을 확인하십시오).케이스스테이트먼트와는 무관한 다른 실수를 피하기 위해 가능한 한 쉽게 절차를 진행했습니다.제가 지금 시도하고 있는 것은 다음과 같습니다.
drop PROCEDURE if EXISTS test;
create PROCEDURE test()
BEGIN
CASE
when true THEN INSERT INTO testtable VALUES (DEFAULT);
end case;
END
어디가 잘못됐는지 정말 모르겠어요.설명서에 따르면 sytax는 다음과 같습니다.
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
나도 똑같이 한 것 같아.누가 좀 도와줬으면 좋겠어요.저는 지금 몇 시간 동안 고생하고 있어요.PHPMyAdmin과 함께 XAMPP를 사용하고 있습니다.
딜리미터를 변경해야 합니다.그렇지 않으면 프로시저 내의 스테이트먼트가 아닌 스토어드 프로시저가 언제 종료되는지 알 수 없습니다.
콘솔에서 실행하는 경우:
drop PROCEDURE if EXISTS test;
delimiter $$
create PROCEDURE test()
BEGIN
CASE
when true THEN INSERT INTO testtable VALUES (DEFAULT);
end case;
END$$
delimiter ;
phpmyadmin 내에서 실행하는 경우 GUI에서 딜리미터를 지정해야 합니다.
언급URL : https://stackoverflow.com/questions/37466536/mysql-mariadb-cant-create-a-procedure-using-the-case-statement
반응형
'programing' 카테고리의 다른 글
라이브러리를 사용하지 않고 python에서 datetime을 사용자 지정 개월 단위로 늘리는 방법 (0) | 2022.10.30 |
---|---|
String 객체를 Boolean 객체로 변환하는 방법 (0) | 2022.10.30 |
SQL 쿼리를 JSON 형식의 텍스트 파일로 내보내기 (0) | 2022.10.21 |
Python 들여쓰기 수정 방법 (0) | 2022.10.21 |
JavaScript에서 날짜에 월을 추가하는 방법 (0) | 2022.10.21 |