삽입 (2)

기본적으로 오라클에는 특수기호에 대해서 검사를 하고 대체할 수 있도록 정의를 해놓은 것이 있는데 이 중에 특수기호 '&'도 포함이 되어있다. 


따라서 insert into table1 values ( 'a & b'); 라는 문장을 실행하면 SQLDeveloper에서는 대체문자를 설정하라고 팝업창이 뜬다.


처음에는 이게 뭐지? 하고서 그냥 엔터를 쳤었는데 나중에 보니 그렇게 엔터쳤던 것 때문에 insert할 때 &가 공백으로 바뀌어져서 내용이 들어가있었다.


그런데 이렇게 특수기호가 들어간 문장을 수 백개 insert해야 한다면....???


일일히 다 대체문자를 입력할 수가 없다!!!


이럴 때 유용하게 쓸 수 있는게


SQL> set define off;


이다.


위 명령어는 현재 세션에 대해서 "특수기호 대체 검사"를 하지 않도록 해준다. 

오라클에서 한번에 여러개의 레코드를 insert하려면 아래와 같은 방식을 사용할 수 있다.

 

 

INSERT ALL
INTO 테이블명 ( column_1, column_2 ) VALUES ( value_1,  value_2)

INTO 테이블명 ( column_1, column_2 ) VALUES ( value_3,  value_4)

SELECT 1 FROM DUAL