Mysql 만들기 삽입 절차 문이 불완전합니다.
데이터베이스에 로그 절차를 작성하려고 합니다.다음 스테이트먼트를 사용하여 프로시저를 만듭니다.
create procedure prc_wirte_log (
in p_schema varchar(255),
in p_item varchar(255),
in p_message varchar(255)
)
begin
insert into weather.log (`schema`, item, message) values (p_schema, p_item, p_message);
end;
에러가 발생하다Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 7 0.063 sec
왜? MySQL Workbench는Incomplet Statment: excepting ;를 누릅니다.
내가 뭘 할 수 있을까?
다중 스테이트먼트 절차(BEGIN 시 가정...END 있음)는 딜리미터 오버라이드를 요구하므로 딜리미터에 포함된 문이 절차 정의를 조기에 종료하지 않도록 해야 합니다.
일반적으로 다음과 같은 작업을 수행해야 합니다.
DELIMITER //
CREATE PROCEDURE blah()
BEGIN
statements;
END//
DELIMITER ;
이 문서의 첫 번째 예는 이 점을 나타내고 있습니다(단, 이 페이지의 마지막 2개는 실수를 반복하고 있는 것 같습니다).
WorkBench 또는 이와 유사한 도구를 사용하는 경우 StoredProcedures를 마우스 오른쪽 버튼으로 클릭하고 Create Stored Procedure를 클릭하면 다음과 같은 기본 구조가 생성되며 로직을 작성하여 적용할 수 있습니다.마지막 문의 끝(END 직전)에 세미콜론을 사용합니다.
CREATE PROCEDURE `new_procedure` ()
BEGIN
select * from tasks;
END
언급URL : https://stackoverflow.com/questions/52412225/mysql-create-insert-procedure-statement-incomplete
'source' 카테고리의 다른 글
| Java 객체(빈)를 키와 값의 쌍으로 변환하는 방법(또는 그 반대) (0) | 2022.09.04 |
|---|---|
| Gson을 사용하여 JSON을 HashMap으로 변환하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
| python 쉘이 32비트인지 64비트인지 확인하려면 어떻게 해야 하나요? (0) | 2022.09.04 |
| Python에서 날짜 범위 만들기 (0) | 2022.09.04 |
| JSON 경로에 특정 요소가 포함되어 있지 않은지 또는 요소가 존재하는지 여부를 테스트하려면 어떻게 해야 합니까? (0) | 2022.09.04 |