■에러 ORA-00904: 부적합한 식별자입니다. ■원인1 식별자는 큰 따옴표(")로 묶어 사용된다. 많은 개발 언어에서 작은 따옴표(')와 큰 따옴표(")를 같은 의미로 사용할 수 있으나, 오라클에서는 각각 다른 의미를 가지고 있다. 작은 따옴표는 리터럴을 나타내지만, 큰 따옴표는 객체명을 나타내므로 ORA-00904 에러가 발생한다. 큰 따옴표(")로 둘러싼 식별자는 대문자 소문자를 구별한다. 따옴표로 묶지 않은 식별자는 항상 대문자로 변환되어 관리된다. 예제 컬럼명 "abc" ≠ abc 컬럼명 "한국어a" ≠ "한국어A" 컬럼명 "ABC" = abc ■대응방법 큰 따옴표(")로 묶은 식별자를 사용하는 경우에는 대소문자까지 올바르게 기술한다. ■원인2 리터럴 항목을 작은 따옴표로 묶어 사용하지 않는다..
■에러 ORA-00001: 유일성(무결성) 제약조건에 위배됩니다. 이 에러의 주된 가능성으로서는 INSERT ~ SELECT ~를 사용했을 경우에 기본키(PK)나 고유키(UK)와 같은 데이터를 INSERT 하려고 했을 때 발생한다. ■원인 단순한 일의 제약 위반이므로 INSERT ~ VALUES (~)의 경우에는 문제가 되지 않는다. INSERT ~ SELECT ~를 사용했을 경우에 대상이 되는 데이터가 대량이 되는 일이 적지 않기 때문에 원인이 되는 레코드의 특정이 매우 번거롭다. 마찬가지로 MERGE에 의한 데이터의 조작도 원인 레코드의 특정이 매우 번거롭게 된다. ■(ver: 11gR2부터) 대응방법 1 : 오류 데이터를 무시하고 삽입하는 방법 IGNORE_ROW_ON_DUPKEY_INDEX 힌트 ..
■ 에러 ORA-06502:PL/SQL:수치 또는 값 오류:문자열 버퍼가 너무 작습니다. ■ 원인1 : 수치 또는 값의 에러가 발생했습니다. NULL 데이터 처리가 불충분할 때 ORA-06502와 숫자의 조합의 경우에 흔히 있는 에러가 NULL의 핸들링이 부족한 것으로 인해 발생하는 에러이다. 예를 들면 아래의 소수코드로 간단하게 재현할 수 있다. 다만, 실제 개발에서는 난해한 처리와 NULL 데이터의 특수성으로부터 테스트를 빠져나와 부정한 데이터가 입력될 때까지 아무 일도 없는 경우도 적지않게 있다. CREATE OR REPLACE PROCEDURE RIVUS.ORA_06502_NUM IS vStr VARCHAR2(10); BEGIN -- OK vStr := 'abc'; FOR i in 1 .. LEN..
- Total
- Today
- Yesterday
- in/out/ref
- in/out/ref 공통점
- 시간차이
- vba
- PL/SQL 예외처리문
- in/out/ref 예제
- grant
- DBA_SYS_PRIVS
- REVOKE
- Oracle
- PL/SQL 실행문
- pl/sql
- in/out/ref 차이점
- USER_SYS_PRIVS
- DECLARE절
- EXCEPTION절
- 후나빙
- 초기화파라미터파일
- VB.Net
- 유틸리티에러
- NLog
- rollback
- BEGIN절
- TrimEnd
- 참조전달
- 유틸리티
- 동기통신
- 에러
- commit
- C#
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |