말그대로 콤마가 누락되었다는 얘기다.
하지만!!!!! 때로는 엉뚱한 실수에 엉뚱한 오류가 나기도 한다.
내가 저 에러메시지를 본것은 아래와 같은 설정을 했을때다.
스프링 기반 웹앱을 만들고 xml파일에 쿼리문을 넣었는데....
================================================
<insert id="add">
insert into
테이블명
values(
column1 = #{col1, jdbcType=VARCHAR}
,column2 = #{col2, jdbcType=VARCHAR}
,column3 = #{col3, jdbcType=VARCHAR}
)
</insert>
================================================
자, 여기서 테이블명과 컬럼명은 임의로 써넣었다. 물론 실제 소스에서는 실제 테이블명과 컬럼명이 들어가있다. 이 테이블에는 세개의 컬럼( column1, column2, column3 )이 있다고 가정한다.
이 코드에서 왜 누락된 콤마 누락 에러가 발생했는지 찾았는가???
이 코드에는 콤마가 누락된 것이 아니다. Insert 문의 형식자체가 틀렸다.
위 코드는 아래와 같이 바뀌어야 한다.
insert into
테이블명
values(
#{col1, jdbcType=VARCHAR}
,#{col2, jdbcType=VARCHAR}
,#{col3, jdbcType=VARCHAR}
)
에러메시지만보고 콤마가 어디가 누락됐다는거지? 라는 생각을 가지고 오류를 찾으려한다면 하루종일을 허비해도 못찾을 것이다.
당신의 지식에 조금이나마 도움이 됐기를 바라며 글을 마친다....
[오라클/oracle] 특정 사용자(유저) 소유의 테이블 조회 (0) | 2015.04.20 |
---|---|
getString not implemented for class oracle.jdbc.driver.T4CBlobAccessor (0) | 2015.04.20 |
테이블 컬럼 순서 바꾸기 ( Changing Column Order ) (0) | 2015.04.20 |
[ORA-02270] no matching unique or primary key for this column-list (0) | 2015.04.20 |
[SQL] Truncate vs Drop vs Delete (0) | 2015.04.20 |
아래 예제는 JMNote.com의 위키페이지에서 복사해온 것임을 밝힙니다.
( 원본 주소 -
)
CREATE TABLE employee ( emp_no NUMBER PRIMARY KEY, dept VARCHAR2 (16), name VARCHAR2 (32) ); INSERT INTO employee VALUES (130001, '인사부', '홍길동'); INSERT INTO employee VALUES (130002, '영업부', '임꺽정'); INSERT INTO employee VALUES (130003, '생산부', '장길산');
SELECT * FROM employee;
EMP_NO DEPT NAME 130001 인사부 홍길동 130002 영업부 임꺽정 130003 생산부 장길산
CREATE TABLE temp AS SELECT emp_no, name, dept FROM employee; DROP TABLE employee; RENAME temp TO employee;
SELECT * FROM employee;
EMP_NO NAME DEPT 130001 홍길동 인사부 130002 임꺽정 영업부 130003 장길산 생산부
getString not implemented for class oracle.jdbc.driver.T4CBlobAccessor (0) | 2015.04.20 |
---|---|
ORA-00917: 누락된 콤마 (0) | 2015.04.20 |
[ORA-02270] no matching unique or primary key for this column-list (0) | 2015.04.20 |
[SQL] Truncate vs Drop vs Delete (0) | 2015.04.20 |
[SQL] 기존 테이블의 컬럼에 not null 제약 추가하기 (0) | 2015.04.20 |
ALTER TABLE [DB명] MODIFY([컬럼명] NOT NULL);
간단하다!!!!!!!!!!
화이팅!!!
[ORA-02270] no matching unique or primary key for this column-list (0) | 2015.04.20 |
---|---|
[SQL] Truncate vs Drop vs Delete (0) | 2015.04.20 |
[SQL] 한번에 여러 record(데이타) 삽입하기 (0) | 2015.04.20 |
[SQL] COUNT(*) 와 COUNT(1) (0) | 2015.04.20 |
java.lang.SecurityException: Sealing violation exception (0) | 2015.04.20 |
오라클에서 한번에 여러개의 레코드를 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
;
[SQL] Truncate vs Drop vs Delete (0) | 2015.04.20 |
---|---|
[SQL] 기존 테이블의 컬럼에 not null 제약 추가하기 (0) | 2015.04.20 |
[SQL] COUNT(*) 와 COUNT(1) (0) | 2015.04.20 |
java.lang.SecurityException: Sealing violation exception (0) | 2015.04.20 |
[SQL] CONNECT BY , START WITH (0) | 2015.04.20 |
테이블 백업을 할때에 export / import 를 이용할 수도 있지만 단순하게 rename 명령어를 이용할 수도 있습니다. 또한 create ~ as select ~ 를 이용할 수도 있습니다.
하지만 오늘은 테이블 명을 변경하고 새로 테이블을 생성함으로써 백업을 할 수 있는 방법을 소개하도록 하겠습니다. 참고로 이 방법은 blob데이타가 많은 경우에 상당히 유용합니다.
Step by Step
1) Query table name and index names linked to the table you want to backup
2) Rename table name
3) Rename indexes' name ( if specified explicitly when it is created )
4) Rename constraints' name ( if specified explicitly when it is created )
4) Use the same DDL used to create the renamed table
※ This way is very simple and fast then using "create table ~ as select * from ~" statement when the table has a huge blob data.
1) 변경하고자하는 테이블에 어떤 인덱스들이 있는지 조회합니다.
SQL > select index_name, table_name from user_indexes;
2) 테이블명을 변경합니다.
SQL > rename old_table to new_table;
3) 인덱스명을 변경합니다. ( 인덱스명이 자동생성된 것이 아닌 경우에만 )
SQL > alter index pk_old_table rename to pk_new_table;
4) 제약사항명을 변경합니다. ( 제약사항명이 자동생성된 것이 아닌 경우에만 )
SQL > select * from user_cons_columns where table_name='{table_name};
SQL > alter table {table name} rename constraint {constraint name} to {new constraint name}
5) 기존 테이블을 생성했던 DDL을 사용하여 테이블을 새로 생성합니다.
SQL > create table .........
[오라클/oracle11g] dump 함수 (0) | 2015.04.20 |
---|---|
[오라클/oracle11g] 인코딩 문제 (0) | 2015.04.20 |
테이블 제약사항 조회하기 ( Querying constraints of a table ) (0) | 2015.04.14 |
테이블 명 변경하기 ( Renaming Table Name ) (0) | 2015.04.14 |
인덱스 목록 조회 ( Querying Index List ) (0) | 2015.04.14 |