SOFTMOA TECHNOLOGY

[ oracle ] SET DEFINE OFF - 특수문자 인서트시 문자열로 인식하기

소프트모아가 정리한 기술 기록입니다.

Contents
작성일 2015. 11. 03.

SET DEFINE OFF
SQL*Plus에서 SET DEFINE OFF나 SET SCAN OFF를 실행하여 Substitution Variable(&)을 Turn Off시킨다.

SQL> SET DEFINE OFF
SQL> INSERT INTO test_str VALUES('Q&A');

SQL> SELECT * FROM test_str;
     VAL
     ------
     Q&A

SET DEFINE %
SET DEFINE on 상태로 유지 시키면서 Substitution Variable을 다른 Non-Alphanumeric 문자나 Non-White Space 문자(*, % 등등)로 대체시킨다. 
  
SQL> SET DEFINE %
SQL> INSERT INTO test_str VALUES('Q&A');

 

SET ESCAPE on 
SET ESCAPE on 상태에서(DEFINE은 &로, SCAN은 on 상태로 유지) 
특수 문자 앞에 ESCAPE 문자인 BACKSLASH('\')를 붙인다.
 
SQL> SET ESCAPE on
SQL> SHOW ESCAPE 
     ESCAPE "\" (hex 5c)
SQL> INSERT INTO test_str VALUES ('Q\&A');

Share this

Database

Have a questions?

견적 및 기술문의

mobile : 010-7931-4813

Contact Form