최근에 맡은 프로젝트에서 다시 Oracle을 쓰게 되었다. (최근까지는 MSSQL을 이용한 프로젝트에 참여했었다) 다중 INSERT를 해야 해서 MSSQL 사용했을 때처럼 했는데 계속 " ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다 " 오류가 발생했다. 구글에 검색을 해보니 오라클에서 다중 INSERT 문을 처리하는 방법들이 나왔다. 첫 번째 방법 🔥 INSERT INTO 테이블 (COL1, COL2, ....) SELECT VAL1, VAL2, ... FROM DUAL UNION ALL SELECT VAL1, VAL2, ... FROM DUAL 결과 "ORA-00001: 무결성 제약 조건에 위배됩니다" PK 값에 이전값의 MAX값을 가져와서 넣도록 해놨는데 일괄 삽입이라 그런지 적용..
데이터 조작언어(DML)을 통해 데이터를 삽입, 삭제, 갱신할 수 있다. CRUD처리를 하다보면 빠질 수가 없는 명령문인데 쓸 때 가끔씩 멈칫하는 경우가 생겨서 정리해 보기로 했다. - INSERT 1 2 INSERT INTO 테이블이름 [(속성1, 속성2, ..)] VALUES (속성에맞는데이터1, 속성에 맞는 데이터2, ...); cs []안의 속성이름을 생략할때는 테이블에 들어간 데이터 열의 순서로 속성에 맞는 데이터를 기술해야한다. 속성이름을 생략하지 않을 때는 속성의 개수에 맞게 데이터를 삽입해야 한다. EX) MEM테이블 , 속성값이 ID, PWD, NAME, PHONE이라고 가정 1 2 INSERT INTO MEM VALUES ('MEM1', 'PWD1', '멤버', '010-1234-567..
MyBatis를 통해 데이터베이스를 가져오는 과정에서 mapper 클래스 내에 쿼리문이 중복되는 경우가 상당 수 생긴다. 나 같은 경우는 특히나 select할 때 그런 일이 자주 발생했다. 이럴때 sql태그를 사용하면 훨씬 깔끔하고 수월하게 쿼리문을 실행할 수 있다. 1) sql문 안에 중복되어 사용되는 값들을 넣어줌 2) 값들을 사용할 때는 include문을 써서 사용하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 id, pwd, name select from member Colored by Color Scripter cs 위의 쿼리문은 아래의 쿼리문을 실행한것과 같다. 1 2 3 4 5 6 7 select id, pwd, name from member Colored by Color Scr..