sqlplus에서 Ampersand나 특수 문자를 갖는 데이타를 insert하는 방법 sqlplus 데이터 insert 입력값 요구

by 조쉬 posted Dec 08, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

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


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


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

 
▒ 첫번째 방법

   SQL*Plus에서 
SET DEFINE OFF나 SET SCAN OFF를 실행하여 
   
Substitution Variable(&)을 Turn Off시킨다.
 
 
   SQL> 
SET DEFINE OFF
   SQL> 
INSERT INTO test_str VALUES('Q&A');
   1 개의 행이 만들어졌습니다.
   
   SQL>SELECT * FROM test_str;
        VAL
        ------
        Q&A


▒ 두번째 방법

   SET 
DEFINE ON 상태로 유지 시키면서 Substitution Variable을 
   다른 
Non-Alphanumeric 문자나 Non-White Space 문자(*, % 등등)로 대체시킨다. 
 
 
   SQL> 
SET DEFINE %
   SQL> 
INSERT INTO test_str VALUES('Q&A');
   1 개의 행이 만들어졌습니다.
 

 
▒ 세번째 방법

   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');
   1 개의 행이 만들어졌습니다.
- oracleclub.com에서 퍼왔읍니다...참조하세여...
 


Articles

1 2 3 4 5 6 7