ORA-01756 단일 인용부를 지정해 주십시오(quoted string not properly terminated) insert,update문에서 작은 따옴표( ‘ )도 단일 인용부가 아닌 문자로 등록하기

Oracle DB

테이블에 데이터를 Insert 또는 Update하는 경우 작은 따옴표( ‘ )로 묶여있는 단일 인용부 문자열을 지정할 때 작은 따옴표( ‘ )도 문자로 등록하는 방법을 소개합니다.

작은 따옴표 오류

다음과 같이 ‘NYs Office’ 문자열에 작은 따옴표가 포함되어 있으면 문자열의 시작 과 끝을 알리는 단일 인용부의 일부로 인식하여 오류가 발생합니다.

SQL> insert into DEPT (DEPTNO,DNAME,LOC) values (90,'ACCOUNTING','NY's Office');
ERROR:
ORA-01756: 단일 인용부를 지정해 주십시오

영문 오류메시지는 다음과 같습니다.

ERROR:
ORA-01756: quoted string not properly terminated

오류 해결 방법

NYs Office‘ 와 같이 단일 인용부로 감싸진의 문자열에서 두개의 작은 따옴표를 연속으로 나열하면 단일 인용부가 아닌 하나의 작은 따옴표 ( ‘ ) 문자로 인식됩니다.

SQL> insert into DEPT (DEPTNO,DNAME,LOC) values (90,'ACCOUNTING','NY''s Office');
1 개의 행이 만들어졌습니다.

실제 테이블에 저장되는 문자열은 다음과 같이 하나의 작은 따옴표 ( ‘ ) 로 Insert됩니다.

SQL> select deptno, dname,loc from dept;

DEPTNO DNAME      LOC
------ ---------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH   DALLAS
    30 SALES      CHICAGO
    40 OPERATIONS BOSTON
    90 ACCOUNTING NY's Office
제목과 URL을 복사했습니다