@변수
- 전역 변수
- DB 접속 종료시 변수가 제거됨
- stored procedure는 sql문을 저장하여 사용하듯이, @는 길거나 복잡한 값을 변수로 저장할 수 있다.
SET @작명 = 값;
※ 값 위치에는 하나의 값만 들어가면 되므로 하나의 값을 뱉는 서브쿼리를 사용해도 괜찮다.
example)
SET @name = "허버트 블레인 볼페슐레겔슈타인하우젠베르거도르프 시니어";
SELECT @name;
DECLARE
- 지역 변수
- procedure 안에서 DECLARE 키워드로 변수를 생성할 수 있음
- procedure 실행 종료 시 변수가 제거됨
DELIMITER $$
$$
CREATE PROCEDURE mart.var_study()
BEGIN
DECLARE age int DEFAULT 10;
SELECT age;
END
$$
DELIMITER ;
CALL mart.var_study();