ORA-12899 오류는 "value too large for column" 즉, 열에 대한 값이 너무 큰 경우 발생하는 오류입니다. 이 오류는 대개 INSERT나 UPDATE와 같은 DML 문장에서 발생합니다. 원인 열의 데이터 타입이 적합하지 않은 경우 : ORA-12899 오류는 열의 데이터 타입이 적합하지 않아서 발생할 수 있습니다. 예를 들어, VARCHAR2(10) 열에 20자 이상의 문자열을 INSERT나 UPDATE하려고 하면 ORA-12899 오류가 발생합니다. 열의 크기가 적합하지 않은 경우 : ORA-12899 오류는 열의 크기가 적합하지 않아서 발생할 수 있습니다. 예를 들어, VARCHAR2(10) 열에 20자 이상의 문자열을 INSERT나 UPDATE하려고 하면 ORA-12899..
예시로 우선 사용방법을 간단하게 알아보겠습니다. 치킨이라는 테이블에 배달비가 2000원인 컬럼에 기업 컬럼에 대기업을 넣어준다. - 치킨테이블에 배달비가 2000원인 기업에 대기업이라고 칭해준다. UPDATE CHICKEN SET 기업 = '대기업' WHERE 배달비 = '2000원' 아주간단하게 쉽게 외울수 있는 방법을 설명해 드리겠습니다. 우선 UPDATE SET WHERE 을 아래와 같이 세로로 적어줍니다. UPDATE SET WHERE 그리고 UPDATE 옆에는 테이블 명을 (UPDATE 수정해준다.) SET 옆에는 수정해줄 컬럼, 변경값을 (SET 어떻게?) ex column = '100' WHERE 옆에는 어떤 곳 이라고 기억해두면 쉬울 것 같습니다. (WHERE가 어디에 라는 의미기 때문)
LIKE 문의 사용 예시로는 김 으로 시작하는 사람을 검색하고 싶다. SELECT * FROM TABLE WHERE COLUMN LIKE '김% ' 이름 중에 김이 들어가는 사람을 검색하고 싶다. SELECT * FROM TABLE WHERE COLUMN LIKE '%김% ' 마지막에 김이 들어가는 사람을 검색하고 싶다. SELECT * FROM TABLE WHERE COLUMN LIKE '%김 ' SELECT * FROM 테이블명 WHERE 컬럼명을 적어주시고 이후에 LIKE를 사용하여 필요한 데이터를 뽑아냅니다.
ORA-01722 오류는 "invalid number" 즉, 수치가 부적합한 경우 발생하는 오류입니다. 이 오류는 데이터 타입이 NUMBER인 열에 문자열이 포함되어 있는 경우 발생할 수 있습니다. 이 오류를 해결하기 위해서는 다음과 같은 방법들을 시도해볼 수 있습니다. 원인 1. 데이터에 문자열이 포함되어 있는 경우 ORA-01722 오류는 데이터 타입이 NUMBER인 열에 문자열이 포함되어 있는 경우 발생합니다. 예를 들어, "123ABC"와 같은 문자열이 NUMBER 열에 포함되어 있다면, ORA-01722 오류가 발생할 수 있습니다. 2. 데이터의 포맷이 잘못된 경우 데이터의 포맷이 NUMBER 데이터 타입으로 적합하지 않은 경우에도 ORA-01722 오류가 발생할 수 있습니다. 예를 들어, "1..
오라클 ORA-00907 누락된 우괄호 에러가 발생하는 원인과 해결방법에 대해 알아보도록 하겠습니다. ORA-00907 오류는 "missing right parenthesis" 즉, 누락된 우측 괄호로 인해 발생하는 오류입니다. 이 오류는 대개 CREATE TABLE, CREATE INDEX 또는 CREATE VIEW와 같은 SQL 문장에서 발생합니다. 원인 CREATE TABLE 문장에서 누락된 우측 괄호 CREATE INDEX 문장에서 누락된 우측 괄호 CREATE VIEW 문장에서 누락된 우측 괄호 다른 SQL 문장에서 누락된 우측 괄호 SQL 문에서 사용된 괄호에서 왼쪽 괄호만 있고 오른쪽 괄호가 없는 등 괄호의 짝이 맞지 않거나 문자열 상에서 붙어서 쿼리가 잘못 씌여지는 경우에 발생한다. - 쿼..
ORA-00904 : 부적합한 식별자 invalid identifier 알아보기 ORA-00904 오류는 "invalid identifier" 즉, 부적합한 식별자로 인해 발생하는 오류입니다. 이 오류는 다음과 같은 경우에 발생할 수 있습니다. 원인 존재하지 않는 컬럼명을 사용한 경우 존재하지 않는 테이블명을 사용한 경우 알 수 없는 식별자를 사용한 경우 사용자 권한이 부족하여 해당 객체에 접근할 수 없는 경우 존재하지 않는 열 이름을 적었을 경우 정의된 열 이름과 대소문자가 일치하지 않는 경우 작은 따옴표와 큰따움표 사용을 잘못 하였거나 경우 열 이름에 특수문자가 들어가 있는 경우 열 이름에 Oracle 예약어를 사용 하였을 경우 해결방법 존재하지 않는 컬럼명이나 테이블명을 사용한 경우, 해당 컬럼명이..
원인 사용자 이름 또는 비밀번호가 잘못 입력된 경우 대/소문자를 구분하여 입력하지 않은 경우 사용자 계정이 잠겨있는 경우 사용자 계정이 만료된 경우 데이터베이스 연결 구성이 잘못된 경우 위의 원인 중 가장 일반적인 경우는 사용자 이름 또는 비밀번호가 잘못 입력된 경우입니다. 오라클 버전에 따라 다르지만, 오라클 10G까지는 대소문자 구분을 하지 않았고, 오라클 11G부터는 대소문자를 구분합니다. 이로 인해 ID와 PW를 정확하게 입력하더라도 오라클 11G부터는 ORA-01017: invalid username/password; logon denied 이라는 에러가 발생할 수 있습니다. 오라클의 대소문자 구분을 없애는 설정을 하여 문제를 해결할 수는 있지만, 권장되지 않습니다. 이유는 보안상 취약점이 될 ..
위와 같은 에러는 프로시저를 실행하려고 할때, 위와 같은 에러가 발생하게 되는데 1. 프로시저가 없는 경우나 2. 프로시저가 있는데 권한이 없는경우 3. 프로시저가 컴파일이 제대로 안됬을 경우 4. 해당 프로시저가 없는경우 해결방법은 아주 간단합니다. 1.프로시저 컴파일이 제대로 되었는지 확인을 합니다. 2. 프로시저 명에 오타가 없는지 확인을 해줍니다. 3. 프로시저가 없을경우 생성을 해줍니다. 4. 문자열 오타를 확인을 해줍니다. 5.오라클쪽 계정권한을 확인 해줍니다. 아니면 'PROC_INPUT_DATA' Procedure를 만들어 주면 됩니다. 만약 Procedure 생성자와 실행자가 다른 경우 grant, synonym 부여해줍니다. - 프로시저 생성 후 실행시 해당 GRANT / SYNONYM..
쿼리문 작성시 대소문자 구분X 여러 라인에 걸쳐서 작성이 가능하고 가독성을 위해 들여쓰기 하는 것을 추천 키워드는 여러 행에 나누어 쓰거나 약어로 쓸 수 X 여러 컬럼을 검색할 때 쉼표로 컬럼을 구분한다. SELECT절에서 출력 결과에 표시할 순서대로 컬럼을 지정한다. SELECT결과 열 머리글(Heading)은 기본적으로 대문자로 표시된다. 기본 SELECT문 형식 SELECT 컬럼1, 컬럼2, 컬럼3, … FROM 테이블명; SELECT one, two FROM EVERLAND; SELECT * FROM EVERLAND; ※별표(*)는 모든 컬럼을 조회하겠다는 뜻이다. 컬럼은 대소문자 구분를 구분하지 않는다. SELECT ONE, two FROM EVERLAND; 컬럼의 중복도 상관 없다. SELEC..
오라클 dump(dmp) 파일 import 하는 방법 1. 필요한 권한 부여 Import를 실행하는 사용자 계정에는 IMP_FULL_DATABASE 권한이 있어야 합니다. 만약 해당 권한이 없다면, 시스템 관리자 계정으로 로그인하여 권한을 부여해야 합니다. 2. 파일 복사 DMP 파일을 Import를 실행할 서버로 복사해야 합니다. 3. 명령어 실행 1. 가장 기본적인 import IMP 명령어를 사용하여 DMP 파일을 Import할 수 있습니다. 다음은 IMP 명령어를 사용한 DMP 파일 Import의 예시입니다. imp username/password file=/path/to/dumpfile.dmp full=y 위의 예시에서, username과 password는 Import를 실행할 계정의 이름과 비..