컴퓨터 공부/Advanced Database

[6월 2일 2교시] DML 2

려리군 2009. 6. 2. 10:24

Update

테이블에서 현재 존재하는 값을 바꾼다.

테이블에 UPDATE 권한을 가지고 있거나 테이블은 당신이 소유한 스키마여야 한다.


서브쿼리를 사용하여 갱신(update)

UPDATE (인라인 뷰) SET 바꿀 조건

UPDATE 테이블 SET 테이블.컬럼명 = (서브쿼리), 테이블.컬럼명 = (서브쿼리) WHERE 조건


오류 발생 조건

무결성 제약조건을 위반하는 값을 가진 데이터를 변경하려고 시도할 때 오류 발생


Merge

테이블에 조건을 주어 한 행을 추가하거나 갱신한다.

Update와 Insert를 결합한 문장.

MERGE INTO 대상테이블 USING 원본테이블 on 조인조건

WHEN MATCHED THEN UPDATE SET 갱신 표현식

WHEN NOT MATCHED THEN INSERT VALUES 추가할 값


Delete

테이블에서 행을 삭제한다.

DELETE 권한을 가진 테이블이 있거나 테이블은 당신이 소유한 스키마여야 한다.


오류조건

무결성 제약조건을 위반하는 값을 가진 데이터를 삭제하려고 시도할 때 오류 발생. (외래키 관련 삭제, restrict)


Returning 구문

INSERT, UPDATE, DELETE 구문에 의해 영향을 받을 열들을 얻는다.

컬럼 표현식과 ROWID들을 리턴하고 bind변수에 출력으로 저장한다.

RETURNING 표현식 INTO 데이터아이템


날짜 시간 데이터 타입

TIMESTAMP : 데이터 타입의 값에 미세한 초 단위 정보까지 포함.

TIMESTAMP WITH TIME ZONE : UTC 기준으로 offset 값을 포함.

TIMESTAMP WITH LOCAL TIME ZONE : 데이터베이스 타임존에 맞춰 저장되었다가 session time zone에 맞춰 조회해 볼 수 있다.

INTERVAL YEAR TO MONTH : 두 날짜의 차이값을 YEAR와 MONTH로 표현

INTERVAL DAY TO SECOND :  두 날짜의 차이값을 로 표현