본문 바로가기
반응형

Oracle27

Oracle DELETE쿼리와 TRUNCATE차이는? 안녕하세요, 오늘은 Where절 없는 DELETE쿼리와 TRUNCATE차이에 대하여 알아보겠습니다. WHERE 절 없는 DELETE와 TRUNCATE 모두 테이블의 모든 행을 삭제하는 효과를 가지지만 여러 면에서 차이점이 있습니다.   1. 동작 방식특징DELETE (WHERE 절 없음)TRUNCATE명령 방식DML (데이터 조작 언어)DDL (데이터 정의 언어)삭제 방식한 행씩 삭제 (로그 기록 포함)전체 테이블 초기화 (빠르고 효율적)트랜잭션 롤백가능 (트랜잭션 시작 후 롤백 가능)불가능 (DDL이므로 커밋과 동시에 완료)테이블 구조 유지유지 (모든 데이터 삭제 후 빈 테이블)유지 (데이터만 삭제, 구조 및 인덱스는 그대로 유지)외래 키 제약 조건(FK)외래 키 제약 조건을 고려하여 작동외래 키 제약.. 2024. 11. 29.
Oracle 무결성 제약조건 위배되었습니다- 부모 키가 없습니다 안녕하세요, 오늘은 Oracle에서 데이터 insert 및 delete시에 발생하는 무결성 제약조건에 대하여 알아보겠습니다. 삽입시.ORA-02291: 무결성 제약조건(USER_NAME.SYS_C012345)이 위배되었습니다- 부모 키가 없습니다 삭제시.ORA-02292: 무결성 제약조건(USER_NAME.SYS_C012345)이 위배되었습니다- 부모 키가 없습니다 두가지 경우 중 오늘은 삭제시 조치방법에 대하여 알아보겠습니다.데이터베이스에서 외래 키(Foreign Key) 제약 조건이 위반되었을 때 발생합니다.이 오류는 특정 레코드가 삭제되거나 업데이트될 때, 그 레코드에 의존하는 자식 레코드가 있는 경우에 주로 발생합니다. - 원인이 오류의 원인은 보통 다음 중 하나입니다:부모 테이블에 존재하지 않는.. 2024. 11. 28.
[Oracle] Merge문 안녕하세요 오늘은 Oracle의 Merge Into문에 대해서 알아보겠습니다. 흔히 특정 조건에 맞는 A테이블의 데이터를 B테이블로 update 한다거나, 아니면 데이터가 입력됬을때 특정 조건에 맞으면 update 아니면 insert 하는 식으로 구현할 수 있는 SQL입니다. 예제 상황A 테이블: A(id, name, age)B 테이블: B(id, name, age)두 테이블의 id가 공통 키.MERGE INTO BUSING AON (A.id = B.id)WHEN MATCHED THEN UPDATE SET B.name = A.name, B.age = A.ageWHEN NOT MATCHED THEN INSERT (B.id, B.name, B.age) VALUES (.. 2024. 11. 27.
Oracle) 데이터 형식 VARCHAR2 -> CLOB로 변경하기 안녕하세요 오늘은 Oracle에서 데이터 형식을 VARCHAR2 -> CLOB로 변경하는 방법에 대하여 알아보겠습니다. Oracle에서 VARCHAR2형식으로 긴 문자열 데이터를 저장할경우 다음과 같이 선언하게됩니다. ColumnName VARCHAR2(4000) 하지만 이렇게 선언할경우 4000바이트가 넘는 문자열은 저장할 수 없게 되며, 아래와 같은 에러가 발생합니다.ORA-01461 "Long 열에 삽입할때만 Long 값을 바인딩 할 수 있습니다." 이런경우 해당 컬럼의 형식을 CLOB로 변경해줘야합니다. [  CLOB은 최대 4GB까지 저장이 가능합니다. ] 하지만 아래과 같이 VARCHAR2형식인 컬럼을 바로 CLOB형식으로 변경하게되면ALTER TABLE [테이블명] MODIFY COLUMN .. 2024. 11. 26.
Oracle PL/SQL이란? 안뇽하세요 오늘은 Oracle의 PL/SQL에 대하여 정리해보겠습니다. Oracle PL/SQL(Procedural Language/SQL)은 Oracle Database에서 SQL과 함께 사용할 수 있는 프로시저 언어로,SQL의 한계를 보완하고 프로그래밍 로직을 작성할 수 있도록 합니다. PL/SQL의 기본 문법과 주요 구성 요소를 알아보겠습니다. 1. PL/SQL 블록 구조PL/SQL은 크게 익명 블록과 저장 프로시저/함수로 나뉩니다. 모든 PL/SQL 코드는 아래와 같은 블록 구조를 가집니다.DECLARE -- 변수 선언 변수명 데이터타입 [DEFAULT 초기값];BEGIN -- 실행부 NULL; -- 기본 실행문 (아무 작업도 하지 않음)EXCEPTION -- 예외 처리.. 2024. 11. 23.
Oracle SQL 힌트 리스트 Oracle SQL 힌트에는 많은 종류가 존재합니다, 그 중 대표적인 힌트들 몇가지를 표로 정리해보았습니다. 분류 힌트 설명 인덱스 사용 INDEX 특정 인덱스를 사용하도록 강제 NO_INDEX 인덱스를 사용하지 않도록 강제 INDEX_COMBINE 여러 인덱스를 결합하여 사용하도록 강제 OPT_ESTIMATE 특정 테이블의 행 수 추정치 제공 PUSH_PRED 조건을 테이블로 푸시하여 최적화 돕기 테이블 스캔 FULL 전체 테이블 스캔을 강제 NO_FULL 전체 테이블 스캔을 사용하지 않도록 강제 조인 ORDERED 조인 순서를 강제 USE_HASH 해시 조인을 사용하도록 강제 USE_MERGE 병합 조인을 사용하도록 강제 LEADING 조인 시 선행 테이블을 지정 최적화 ALL_ROWS 최적의 전체 .. 2024. 2. 18.
반응형

loading