본문 바로가기
MySql

MySQL Workbench에서 잘못된 변수 구문을 선언 하시겠습니까?

by 베이스 공부 2020. 12. 11.
반응형

변수를 만들고 설정하려고합니다.

DECLARE myId INT;
SET myId = 5;

그러나 MySQL Workbench에서 잘못된 구문 불만이 발생합니다.

'DECLARE myId INT;'근처의 SQL 구문 오류

다음 변형을 시도했습니다.

DECLARE myId INT(4);
SET myId = 5;

DECLARE @myId INT;
SET @myId = 5;

DECLARE @myId INT(4);
SET @myId = 5;

뭐가 잘못 되었 니?

 

해결 방법

 

주석에서와 같이 Declare는 프로 시저, 함수와 같은 저장 프로그램에서만 유효합니다. 여기에 저장 프로 시저와 해당 호출의 예가 있습니다.

DELIMITER $$

CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
  DECLARE xname VARCHAR(5) DEFAULT 'bob';
  DECLARE myId INT;


  SET myId = 5;
  SELECT CONCAT(xname,' -- ',myId);
END;
$$

DELIMITER ;

call sp1('MY NAME');

 

참조 페이지 https://stackoverflow.com/questions/21464786

 

 

반응형

댓글