본문 바로가기
728x90

SQL팁6

[오라클-오류] ORA-01756: 사용자 정의 데이터 유형이 잘못되었습니다. [Oracle-오류] ORA-01756: 사용자 정의 데이터 유형이 잘못되었습니다. ■ 원인 ORA-01756 오류가 발생하는 주요 원인은 다음과 같습니다: ▶ 너무 긴 식별자: 데이터베이스 객체의 이름이 Oracle의 식별자 제한을 초과하면 오류가 발생합니다. Oracle에서는 객체 이름에 최대 길이 제한이 있으며, 이를 초과할 경우 ORA-01756 오류가 발생합니다. ▶ 잘못된 식별자 형식: 식별자는 특정 형식을 따라야 합니다. 예를 들어, 대소문자, 숫자, 밑줄(_)로 구성되어야 하며, 특정 규칙을 따라야 합니다. 잘못된 식별자 형식을 사용할 경우 ORA-01756 오류가 발생할 수 있습니다. ■ 예제 아래는 ORA-01756 오류가 발생할 수 있는 몇 가지 예제입니다: ▶ 예제 1: 너무 긴 식.. 2023. 7. 15.
[오라클-오류] ORA-02291: 무결성 제약 조건(FOREIGN KEY) 위반 [Oracle-오류] ORA-02291: 무결성 제약 조건(FOREIGN KEY) 위반 ■ 원인 ORA-02291 오류가 발생하는 주요 원인은 다음과 같습니다: ▶ 외래 키 값 불일치: 자식 테이블에 삽입하거나 업데이트하려는 외래 키 값이 부모 테이블의 기본 키 값과 일치하지 않을 때 오류가 발생합니다. ▶ 부모 테이블에서 데이터 삭제: 부모 테이블에서 기본 키 값을 삭제하면, 해당 값과 관련된 자식 테이블의 외래 키 값이 무효화되므로 ORA-02291 오류가 발생할 수 있습니다. ■ 예제 아래는 ORA-02291 오류가 발생할 수 있는 몇 가지 예제입니다: ▶ 예제 1: 외래 키 값 불일치 CREATE TABLE employees ( employee_id NUMBER PRIMARY KEY, employ.. 2023. 7. 15.
[오라클-오류] ORA-01400: 삽입할 값이 없습니다. [Oracle-오류] ORA-01400: 삽입할 값이 없습니다. ■ 원인 ORA-01400 오류가 발생하는 주요 원인은 다음과 같습니다: ▶ NOT NULL 제약 조건: 테이블의 열에 NOT NULL 제약 조건이 설정되어 있을 때, 해당 열에 값을 삽입하지 않았을 때 오류가 발생합니다. ▶ DEFAULT 값 누락: 테이블의 열에 DEFAULT 값이 지정되어 있을 때, 값을 명시적으로 제공하지 않았을 경우에도 오류가 발생할 수 있습니다. ▶ 필수 열 누락: 테이블의 필수 열에 값을 제공하지 않았을 때에도 ORA-01400 오류가 발생합니다. ■ 예제 아래는 ORA-01400 오류가 발생할 수 있는 몇 가지 예제입니다: ▶ 예제 1: NOT NULL 제약 조건 INSERT INTO employees (emp.. 2023. 7. 15.
[Oracle-오류] ORA-00933: SQL 명령어가 끝났지만 예상하지 못한 토큰이 나타났습니다. [Oracle-오류] ORA-00933: SQL 명령어가 끝났지만 예상하지 못한 토큰이 나타났습니다. ■ 원인 ORA-00933 오류가 발생하는 주요 원인은 다음과 같습니다: ▶ SQL 문법 오류: SQL 문법을 정확하게 따르지 않거나, 쿼리의 요소를 잘못 사용한 경우에 오류가 발생할 수 있습니다. ▶ 누락된 토큰: 쿼리에서 필요한 요소 또는 토큰이 누락되었을 때 오류가 발생할 수 있습니다. 예를 들어, SELECT 문에서 FROM 절이 누락되었을 경우 ORA-00933 오류가 발생합니다. ▶ 잘못된 쿼리 구조: 쿼리의 구조가 잘못되어 SQL 문법에 어긋나는 경우 오류가 발생할 수 있습니다. ■ 예제 아래는 ORA-00933 오류가 발생할 수 있는 몇 가지 예제입니다: ▶ 예제 1: FROM 절 누락 S.. 2023. 7. 15.
[Oracle-오류] ORA-01722: 잘못된 숫자 형식입니다. [Oracle-오류] ORA-01722: 잘못된 숫자 형식입니다. ORA-01722 오류는 Oracle 데이터베이스에서 자주 발생하는 오류 중 하나로, 데이터베이스의 숫자 형식이 예상과 다른 경우 발생합니다. 이 오류는 숫자를 요구하는 연산이나 함수에 잘못된 형식의 데이터가 전달되었을 때 나타납니다. ■ 원인 ORA-01722 오류는 주로 다음과 같은 상황에서 발생할 수 있습니다: ▶ 숫자가 아닌 문자열을 숫자 형식으로 변환하려고 할 때 발생합니다. ▶ 숫자로 구성된 문자열에 비숫자 문자가 포함되어 있을 때 발생합니다. ▶ 숫자와 비숫자 문자를 혼합하여 사용하는 경우 발생할 수 있습니다. ■ 예제 아래는 ORA-01722 오류가 발생할 수 있는 몇 가지 예제입니다: ▶ 예제 1: 숫자로 변환할 수 없는 .. 2023. 7. 15.
[오류] ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: "SYS.DBMS_OUTPUT" 당행의 코어뱅킹은 정책상 오라클 프로시저를 제한하고 있으나, 오래전 위성시스템에서 프로시저를 돌릴때, 발생했던 오류 이다. ■ 문제발생 : ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: "SYS.DBMS_OUTPUT" ■ 문제원인 : 이 구문은 오라클은 해당 처리 내용을 화면이나 버퍼로 출력하는데, 너무 많은 내용을 출력하다 보면 한정된 메모리 사용량을 벗어나서 오버 플로우를 일으키는 것이다. ■ 문제해결 : 버퍼의 메모리 사이즈를 늘려주는 명령문을 사용하거나 프로시저 내에 DBMS_OUTPUT.PUT_LINE 명령문을 삭제하는 것이다. □ 해결예시 DECLARE I_STD_YM VARCHAR2(200); I_REWD_GB .. 2017. 2. 2.
728x90