2016년 3월 7일 월요일

Ampersand나 특수 문자를 갖는 데이타를 insert하는 방법

  • 테스트 테이블 생성
    SQL> CREATE TABLE test_str(
    val varchar2(10)
    );

– 테이블에 아래와 같이 특수문자를 인서트 할경우
SQL> INSERT INTO test_str VALUES(‘Q&A’);
a의 값을 입력하십시오:
– 이런 문장이 나옵니다..
– 특수문자를 갖는 데이터를 인서트 하기 위해서는
– 다음과 같은 세 가지 해결 방법이 있습니다.

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’);

문서에 대하여
- 강좌 URL : http://www.gurubee.com/m/lecture/1148
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

0 개의 댓글

댓글 쓰기