programing

MySQL에서 트리거에 변수를 선언하는 방법? 코드에 대해 몇 줄을 실행하는 동안 오류가 발생합니다.

magicmemo 2023. 7. 30. 17:33
반응형

MySQL에서 트리거에 변수를 선언하는 방법? 코드에 대해 몇 줄을 실행하는 동안 오류가 발생합니다.

MySql에서 다음 코드를 실행하려고 하는데 오류가 발생합니다.

CREATE TRIGGER CINEMAHALLNO_GENERATE_TRIGGER 
BEFORE INSERT ON CINEMA_HALLS
FOR EACH ROW
BEGIN
  DECLARE cnt DOUBLE;
  DECLARE next1 DOUBLE;
  SELECT COUNT(HALLNO) INTO cnt from CINEMA_HALLS;
  IF cnt > 0 AND cnt < 20 THEN
    SELECT MAX(HALLNO) INTO NEXT1 FROM CINEMA_HALLS;
    set next1=next1+1;
    SET :new.HALLNO=next;
  ELSEIF cnt = 0 THEN
    SET :new.HALLNO=1;
  end if;
  end;

출력 오류: SQL 쿼리:

CREATE 트리거 시네마할로_제너레이션_각 행에 대한 CINEMA_HALLS에 삽입하기 전에 트리거 BEARGINT DOUBLE MySQL은 다음과 같이 말했습니다.문서화

1064 - SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 5행의 "" 근처에서 사용할 구문을 확인하십시오.

선언은 시작 뒤에 놓아야 합니다.다음 링크를 확인하십시오.

언급URL : https://stackoverflow.com/questions/52036699/how-to-declare-variable-in-trigger-in-mysql-as-i-am-getting-error-while-execut

반응형