error/Server&DB
프로시저 생성 실패(DECLARE, SET)
이쟝
2023. 9. 9. 15:10
문제 상황
CREATE PPOCEDURE 하려는데 계속 무시함
해결
변수 생성 시 변수를 초기화 하고, 거기에 값을 SET 해야 했는데 그렇게 하지 않아서 안됐음
DELIMITER $$
create procedure make_partition()
BEGIN
DECLARE 변수이름1 VARCHAR(255);
DECLARE 변수이름2 INT;
SET 변수이름1 = ;
SET 변수이름2 = ;
-- 새로운 파티션 생성
SET @sql = CONCAT(
'ALTER TABLE DB이름.테이블 ADD PARTITION(
PARTITION ', 변수이름1 , ' VALUES LESS THAN (', 변수이름2, '));');
PREPARE dquery FROM @sql;
EXECUTE dquery; #실행
DEALLOCATE PREPARE dquery; #prepare문 해제
END $$
DELIMITER ;
혹시나 그래도 프로시저 생성 안된다면?
// OFF로 되어있으면 권한이 없어서 함수와 프로시저 생성 못함
SHOW GLOBAL VARIABLES LIKE 'LOG_BIN_TRUST_FUNCTION_CREATORS';
// 권한 실행 쿼리
SET GLOBAL LOG_BIN_TRUST_FUNCTION_CREATORS = 1;