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, '"','`');