티스토리 뷰
오라클(Oracle)에서 테이블 생성(CREATE TABLE) 후,
데이터를 처리하는 기능 4가지인 조회(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 중
UPDATE의 사용법과 예제에 대해서 메모
UPDATE(수정)
: 테이블(TABLE)에 존재하는 행의 내용을 수정하는 명령어.
※조건(WHERE절)을 지정하지 않을 경우, 테이블의 모든 행(=전체)의 내용이 수정되기 때문에 주의!
만약 실수로 전체 컬럼이나, 어떤 컬럼을 수정했을 경우에는 오라클의 트랜잭션 기능인 [COMMIT/ROLLBACK]을 사용하여
데이터를 복구하면 된다!
・기본 문법
-- 기본 문법
UPDATE 테이블명 SET 컬럼1 = 수정할 값, 컬럼2 = 수정할 값 WHERE 조건
・조건을 지정해 컬럼을 수정
-- TestTable의 NAME이 '홍길동'인 데이터의 ID를 1001로 변경
UPDATE TestTable
SET ID = 1001
WHERE NAME = '홍길동'
・SELECT한 결과를 기반으로 UPDATE하기
-- 하나의 컬럼만 변경할 경우
UPDATE 테이블명 SET 컬럼 = (SELECT 컬럼 FROM 테이블명 WHERE 조건)
/* EXAMPLE */
-- TestTable1의 ID가 1200인 NAME을 취득해, TestTable2의 ID가 1104인 NAME을 수정
UPDATE TestTable1 T1
SET T1.NAME = (SELECT T2.NAME FROM TestTable2 T2 WHERE T2.ID = 1104)
WHERE T1.ID = 1200
-- 여러개의 컬럼을 변경할 경우
UPDATE 테이블명 SET (컬럼1, 컬럼2) = (SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 조건)
/* EXAMPLE */
-- TestTable1의 ID가 1200인 NAME, AGE를 취득해, TestTable2의 ID가 1104인 NAME, AGE을 수정
UPDATE TestTable1 T1
SET (T1.NAME, T1.AGE) = (SELECT T2.NAME, T2.AGE FROM TestTable2 T2 WHERE T2.ID = 1104 )
WHERE T1.ID = 1200
트랜잭션 기능(COOMMIT/ROLLBACK)
・COMMIT
: 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어. (= 데이터베이스에 영구적으로 저장하겠다.)
・ROLLBACK
: 작업 중 문제가 발생했을 때, 트렌젝션의 처리 과정에서 발생한 변경 사항을 취소하고, 트랜젝션 과정을 종료
※트랙젝션(TRANSACTION)의 처리과정이란?
→INSERT, UPDATE, DELETE 작업 내용을 의미
・사용방법
commit;
rollback;
'Oracle > [oracle] DML' 카테고리의 다른 글
[Oracle]트랜잭션(Transaction) 관리 (0) | 2020.12.28 |
---|---|
[SQL/Oracle] DELETE사용법 & 예제 (0) | 2020.12.28 |
[SQL/Oracle] INSERT 사용법 & 예제 (0) | 2020.12.25 |
[SQL/Oracle] SUBSTR, SUBSTRB 함수 사용법 & 예제 (0) | 2020.12.24 |
[SQL/Oracle] SELECT 사용법 & 예제 (0) | 2020.12.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 에러
- 유틸리티에러
- 초기화파라미터파일
- TrimEnd
- in/out/ref 공통점
- in/out/ref
- REVOKE
- commit
- VB.Net
- PL/SQL 실행문
- rollback
- 참조전달
- grant
- Oracle
- in/out/ref 예제
- USER_SYS_PRIVS
- DECLARE절
- BEGIN절
- in/out/ref 차이점
- NLog
- pl/sql
- vba
- DBA_SYS_PRIVS
- 동기통신
- 유틸리티
- 후나빙
- PL/SQL 예외처리문
- 시간차이
- C#
- EXCEPTION절
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함