[Oracle | 오라클] ORA-00904 : 부적합한 식별자 오류
·
Database/Oracle
ORA-01756: "X": 부적합한 식별자 "%s: invalid identifier" ※ 이 오류는 문자가 들어가는 모든 쿼리문에서 확인할 수 있다. 쿼리를 작성해서 데이터를 조회할 때 보통 WHERE 절을 필수로 사용하는데, 이때 발생하는 오류이다. 아래의 예시를 보면 단번에 이해할 수 있다! SELECT USER_ID, USER_NM FROM TB_USER WHERE USER_NM = 김헌일 위의 쿼리를 보면 '김헌일'이라는 이름을 가진 유저를 모두 조회하도록 작성하였는데 WHERE 절에 ' 문자가 빠져서 발생하는 오류이다. 해결방법은 아래와 같이, 데이터베이스가 조건을 정확하게 인식할 수 있게 ' 문자를 넣어주고, 쿼리를 실행하면 된다. SELECT USER_ID, USER_NM FROM TB_..
[Oracle | 오라클] ORA-01756 : 단일 인용부를 지정해 주십시오 오류
·
Database/Oracle
ORA-01756: 단일 인용부를 지정해 주십시오 "quoted string not properly terminated" ※ 이 오류는 데이터 조회 시 확인할 수 있다. 쿼리를 작성해서 데이터를 조회할 때 보통 WHERE 절을 필수로 사용하는데, 이때 발생하는 오류이다. 아래의 예시를 보면 단번에 이해할 수 있다! SELECT * FROM TB_USER WHERE USER_NM IN ('김헌일); 따로 설명할 것도 없는데... 해당 쿼리의 USER_NM 조건에 문자열을 닫아주는 ' 가 빠져있어 ORA-01756 오류가 발생한다. 해결 방법은 SELECT * FROM TB_USER WHERE USER_NM IN ('김헌일'); 당연하게도 ' 를 입력해서 열린 문자열을 닫아주면 된다. 끗!
[Oracle | 오라클] ORA-00979 : GROUP BY 표현식이 아닙니다.
·
Database/Oracle
ORA-00979: GROUP BY 표현식이 아닙니다. "not a GROUP BY expression" ※ 이 오류는 데이터 조회 시 자주 확인할 수 있다. 지금 내가 일하고 있는 이곳은 통계 값 요청이 상당히 많다. ~~자격증을 소지하고 있는 자는 몇 명인지, ~~상태값이 Y인 아이디는 몇 개인지, N인 아이디는 몇 개인지 등 위와 같이 통계 값을 요청했을 때 자주 사용하는 것이 GROUP BY 이다. 쉽게 예를 들자면, 1번, 2번 자격증이 있다고 가정하고, 요청자가 1번 자격증을 소지하고 있는 사람의 수, 2번 자격증을 가지고 있는 사람의 수를 뽑아주세요!라고 할 때 이 GROUP BY 를 사용하면 쉽게 구할 수 있다는 것이다! 그럼 GROUP BY 표현식이 아닙니다. 라는 오류는 언제 발생하는지..
[Oracle | 오라클] ORA-01858 : 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. 오류
·
Database/Oracle
ORA-01858: 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다. "a non-numeric character was found where a numeric was expected" ※ 데이터 조회 시 날짜 관련 함수(TO_CHAR, TO_DATE 등)를 사용할 때 자주 발생하는 오류이다. 아래의 예시에 있는 질의문을 실행시켜보면, SELECT TO_DATE(SYSDATE, 'yyyymmdd') FROM DUAL; 'ORA-01858 : 숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다.' 오류가 출력된다. 어떻게 보면 다른 애매모호한 오류 메시지보다 훨씬 직관적이라서 헤맬 필요 없이 쿼리를 수정이 가능하다. 오류가 발생하는 원인은 TO_DATE 함수는 숫자를 문자로 변환해..
[Oracle | 오라클] ORA-12899 : 열에 대한 값이 너무 큼 오류
·
Database/Oracle
ORA-12899 : 열에 대한 값이 너무 큼 "value too large for column" 데이터 삽입, 업데이트 시 많이 마주치는 오류이다. 위 오류는 컬럼에 설정되어 있는 데이터 허용치보다 더 큰 값을 삽입, 업데이트 하는 경우 발생한다. 쉽게 예시를 들어보면, DEL_YN 이라는 컬럼에 데이터 타입이 VARCHAR2(1 BYTE)라고 가정했을 때 입력할 수 있는 값은 알파벳 하나일 것이다. 그런데 이 컬럼에 한글을 넣는다던지, 더 많은 알파벳, 숫자 등 설정한 BYTE보다 더 큰 값을 입력하는 경우 ORA-12899 오류가 출력될 것이다. -- INSERT 과정에서 ORA-12899 오류 발생 -- DEL_YN 컬럼의 DATETYPE이 VARCHAR2(1 BYTE) 라고 가정함 INSERT ..
[Oracle | 오라클] ORA-01400 : NULL을 (~) 안에 삽입할 수 없습니다. 오류
·
Database/Oracle
ORA-01400 : NULL을 (~) 안에 삽입할 수 없습니다 해당 오류는 INSERT 구문을 작성하다 보면 확인할 수 있다. 오류 메시지에 친절하게 NULL을 '테이블.컬럼명' 에 삽입할 수 없다고 하는데, 풀어서 얘기하면 ORA-01400 오류는 테이블에 NULLABLE이 'No'인 컬럼이 있는데 해당 컬럼에 데이터를 넣지 않고 INSERT를 시도하는 경우 발생한다. -- INSERT 과정에서 ORA-01400 오류 발생 -- 해당 테이블의 USER_NO 컬럼은 NULLABLE 값이 'No' 라고 가정한다. INSERT INTO TB_USER ( USER_NM ) VALUES ( '김헌일' ) 위의 쿼리문은 겉으로 봐서는 문제가 없어 보이지만, USER_NO 컬럼의 NULLABLE 값이 No일 경우..
[Oracle | 오라클] ORA-00913 : 값의 수가 너무 많습니다 오류
·
Database/Oracle
ORA-00913 : 값의 수가 너무 많습니다 "too many values" 데이터 확인을 위해 SQL 질의문을 작성하다 보면 가끔씩 마주치는 오류이다. + 해당 오류는 INSERT 과정에서도 발생한다. -- SELECT 과정에서 ORA-00913 오류 발생 SELECT * FROM TB_USER WHERE USER_NO = ( SELECT USER_NO, USER_NM FROM TB_USER WHERE USER_NO = ? ) -------------------------- -- INSERT 과정에서 ORA-00913 오류 발생 INSERT INTO TB_USER ( USER_NO, USER_NM ) VALUES ( 'ID000001', '김헌일', 'kimheonil' ) 해당 오류가 나는 이유는 ..
[DBMS] DBMS 매우매우 간략하게 설명
·
Database/Oracle
DBMS 데이터베이스 관리 시스템 Oracle DB, MS-SQL, MySQL, MongoDB, SQLite 등 Relation DBMS - 관계형 DBMS
[Oracle] 오라클 11g R2 Express Edition 설치 방법
·
Database/Oracle
오라클 11g R2 Express Edition (https://www.oracle.com)[오라클 홈페이지] DataBase 메뉴에서 Download 선택 -> Database 항목 선택 ('Download -> Customer Downloads -> DataBase -> 11g Release 2') Oracle Database 11g R2 Express 제일 아래로 내려가 Oracle Database 11g R2 Express Edition for Windows x64 클릭 라이센스 항목 체크하고 동의, 로그인 후 다운로드 시작 설치 완료 후 SQLDeveloper 설치 메뉴에서 Download 선택 -> Database 항목 선택 ('Download -> Customer Dow..
[Oracle] 데이터베이스란?
·
Database/Oracle
데이터베이스 데이터베이스 DB, Database 데이터 저장소 체계적인 데이터의 모음 여러 클라이언트(사람, 프로그램 등)들이 데이터를 공유하면서 사용할 목적으로 관리되는 정보 시스템 데이터베이스 내에 테이블들을 생성하여 데이터를 관리한다. 내가 사용하는 버전은 Oracle DB 11g Release 2 Standard Edition Standard One Edition Enterprise Edition 오라클 DB Express Edition(XE) 에는 DB가 한개만 존재한다. SID : xe(DB이름) Standard Edition 도 DB가 한 개만 존재한다. SID : orcl(DB이름) Enterprise Edition 은 DB를 여러 개 생성할 수 있음.
헌일
'DBMS' 태그의 글 목록