[Oracle] ora-01722 invalid number 해결방법 1. 데이터 유형에 맞지 않는 값을 입력 (EX. number에 한글을 입력하려고 하는 경우 등) 2. 함수 결과 데이터 유형이 맞지 않을 경우 (EX string, number 형태의 경우) 3. 다른 데이터 유형끼리의 연산 (EX. 숫자와 한글을 연산 하려는 경우 등)
[Oracle] ora-02291 무결성 제약조건이 위배되었습니다- 부모 키가 없습니다 ORA-02291 오류는 외래 키 무결성 제약 조건을 위반하였을 때 발생합니다. 이 오류는 자식 테이블의 특정 열에 대한 외래 키 제약 조건이 존재하며, 이 열의 값이 부모 테이블의 기본 키 또는 후보 키와 일치하지 않을 때 발생합니다. 해결방법 오류가 발생한 자식 테이블에서 부모 테이블의 레코드를 참조하는 열 값을 확인합니다. 해당 부모 테이블에서 해당 열 값을 가진 레코드가 존재하는지 확인합니다. 만약 존재하지 않는다면 부모 테이블에 레코드를 추가하거나 열 값을 수정해야 합니다. 자식 테이블의 외래 키 열 값을 부모 테이블에서 해당하는 기본 키 또는 후보 키 값으로 수정합니다. INSERT INTO service_..
계층형 쿼리란? 계층형 구조는 상하 수직관계의 트리형태의 구조로 이루어진 형태를 말합니다. 예를 들자면 특정회사의 부서, 특정학교의 학과등이 있습니다. 계층형 쿼리는 테이블에 저장된 데이터를 계층형 구조로 반환하는 쿼리를 말합니다. 오라클에서의 계층형 쿼리는 START WITH ... CONNECT BY 절로 생성할 수 있으며 계층형 정보를 표현하기 위한 목적으로 오라클 8부터 지원되었습니다. 수행순서 1. START WITH 절에 시작 조건을 찾습니다. 2. CONNECT BY 절에 연결조건을 찾습니다. 샘플데이터 생성 위와같은 구조를 이루도록 부서 테이블을 생성하도록 하겠습니다. CREATE TABLE DEP ( DEP_CD NUMBER NOT NULL, -- 부서코드 PARENT_CD NUMBER,..
[ORACLE] 오라클 문자열 자르기(SUBSTR, INSTR, REPLACE, REGXEP_SUBSTR)사용방법 알아보기 1. SUBSTR 함수 사용하기 SUBSTR 함수는 문자열에서 지정한 위치부터 지정한 길이만큼 문자열을 추출합니다. 사용 방법은 다음과 같습니다. SUBSTR(문자열, 시작위치, 추출할 길이) 예시 SELECT SUBSTR('Hello, world!', 1, 5) FROM DUAL; 문자열 'Hello, world!'에서 첫 번째 문자부터 다섯 번째 문자까지 추출되서 Hello가 출력됩니다. 2. INSTR 함수 사용하기 INSTR 함수는 문자열에서 지정한 문자열 또는 문자의 위치를 찾습니다. 사용 방법은 다음과 같습니다. INSTR(문자열, 찾을 문자열 또는 문자[, 시작 위치[,..
PL/SQL에서 IF ELSE 문을 사용하는 방법에 대해 알아보세요. 조건에 따라 실행할 코드 블록을 결정하는 방법을 설명하며, 간단한 예제도 함께 제공합니다. 사용방법 IF (조건식1) THEN 실행문1; ELSIF (조건식2) THEN 실행문2; ELSE 실행문3; END IF; 위 구문에서 조건식1이 참(True)인 경우 실행문1이 실행되고, 조건식1이 거짓(False)이고 조건식2가 참인 경우 실행문2가 실행됩니다. 그렇지 않으면 실행문3이 실행됩니다. 실행문은 단일 SQL 문장 또는 블록으로 구성될 수 있습니다. 블록을 사용하는 경우 BEGIN 키워드로 시작하고 END 키워드로 끝나며, 중첩된 블록을 사용할 수도 있습니다. 예시 DECLARE grade VARCHAR2(2); score NUMB..
[ORACLE] 오라클 덤프 EXP 옵션 및 방법 F1의 도움말 처럼 옵션을 보는 방법 - CMD창에서 바로 EXP HELP=Y를 입력하게 되면 사용 방법 및 옵션 설명이 나옵니다. 키워드 설명(기본값) 키워드 설명(기본값) USERID 사용자 이름/비밀번호 FULL 전체 파일 익스포트(N) BUFFER 데이터 버퍼 크기 OWNER 소유자 사용자 이름 목록 FILE 출력 파일(EXPDAT.DMP) TABLES 테이블 이름 목록 COMPRESS 하나의 확장 영역으로 임포트(Y) RECORDLENGTH IO 레코드 길이 GRANTS 권한 부여 익스포트(Y) INCTYPE 증분 익스포트 유형 INDEXES 인덱스 익스포트(Y) RECORD 증분 익스포트 추적(Y) DIRECT 직접 경로(N) TRIGGERS ..
Oracle 데이터베이스에서, 원하는 컬럼명으로 테이블을 찾는 방법에 대해 알아봅니다. ALL_TAB_COLUMNS 뷰를 활용하여 컬럼명으로 테이블을 찾을 수 있습니다. 이 글에서는 ALL_TAB_COLUMNS 뷰를 이용한 테이블 검색 방법을 설명하고, 예시를 통해 쉽게 이해해보세요. 1. ALL_TAB_COLUMNS을 이용한 방법 SELECT DISTINCT table_name FROM all_tab_columns WHERE column_name = '원하는 컬럼명'; 위의 쿼리문에서 table_name은 원하는 컬럼명을 포함하는 테이블의 이름을 의미합니다. column_name은 검색하고자 하는 컬럼명을 의미합니다. DISTINCT 키워드를 사용하여 중복된 테이블 이름을 제외하고 결과를 출력합니다. ..
Oracle 데이터베이스에서 SID(System ID)는 데이터베이스 인스턴스를 식별하는 데 사용되는 고유한 식별자입니다. 이 글에서는 Oracle 데이터베이스에서 SID를 확인하는 방법에 대해 알아보겠습니다. 1. SQL*Plus 명령어를 사용하여 SID 확인하기 SQL*Plus 명령어를 사용하여 SID를 확인할 수 있습니다. 명령어를 실행하면 데이터베이스에 연결되며, 세션 ID와 함께 SID가 출력됩니다. SELECT sys_context('USERENV', 'SID') AS sid FROM dual; 2. V$INSTANCE 뷰를 사용하여 SID 확인하기 V$INSTANCE 뷰는 Oracle 데이터베이스 인스턴스에 대한 정보를 제공하는 뷰입니다. 이 뷰를 사용하여 SID를 확인할 수 있습니다. SE..
[오라클] SELECT해서 INSERT하기 말그대로 SELECT 를 통하여 조회하였던 값들을 다른 테이블에 INSERT 삽입 하는 것입니다. A라는 테이블을 통하여 조회된 데이터를 B라는 테이블에 INSERT를 할 수 있습니다. 1. 두 개 테이블의 컬럼이 모두 동일 한 경우 insert into A select * from B 2. 두 개 테이블의 컬럼이 다를 경우 INSERT INTO TABLE1(COLUMN1, COLUMN2, COLUMN3) SELECT COLUMN4, COLUMN5, COLUMN6 FROM TABLE2; 설명 TABLE1이라는 테이블에 (COLUMN1, COLUMN2, COLUMN3) 3개의 컬럼이 있는데, TABLE2의 COLUMN4, COLUMN5, COLUMN6 에 해당하는..
[Oracle] 다수의 SELECT문 중복 된 값 제거 하기 MINUS 여러개의 집합 연산자 중 MINUS 를 포스팅 해보도록 하겠습니다. 먼저 MINUS는 학교 다닐때 배우던 차집합과 같은 것인데요 그림으로 보면 위와 같이 되어있는 것을 차집합 이라고 합니다. A라는 집합들 중에서 B라는 집합을 뺀 값이라고 할 수 있죠 주의 사항 쿼리문을 보기전 먼저 A와 B의 테이블은 컬럼명칭, 컬럼위치, 컬럼 수가 모두 동일 해야 합니다. 만약 일치 하지 않다면 ORA-01789 : query block has incorrect number of result columns union 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다. 라는 에러를 보게 될 것 입니다. 사용 방법 SELECT COLUMN1 FRO..