ERROR
[mariadb/procedure]ERROR 1064 - 더블쿼테이션 문제
onlyun
2023. 11. 22. 20:12
#ERR :
ERROR 1064 (42000):
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 'No definite abnormal hypermetabolic lesion suggesting recurrence
# 상황
동적 쿼리 사용하여 테이블에 날짜와 텍스트 insert 하는 프로시저가, 실행 중 위와 같은 에러 문구를 띄우며 에러 발생
# 루프 돌면서,
# CNO별, CODE별로 데이터를 오른쪽으로 쌓기 위한 동적 쿼리
# (앞선 코드 생략)
SET @sql = CONCAT('UPDATE [DB].[TABLE] SET exe_dt', COL_IDX, ' = "', V_EXECUTION_DT, '", reading_content', COL_IDX,
' = "', V_READING_CONTENT, '" WHERE cno ="', V_CNO, '" AND code = "', V_CODE,'"');
# 원인
변수 V_READING_CONTENT 는 장문 텍스트인데,
안에 더블쿼테이션(")이 포함되어 있는 경우, 에러를 일으킨 것임.
# 더블쿼테이션을 백틱(`)으로 변경
SET V_READING_CONTENT = REGEXP_REPLACE(V_READING_CONTENT, '"','`');