데이터 딕셔너리 data dictionary
-데이터 자원을 효율적으로 관리하기 위한 다양한
정보를 저장하는 시스템 테이블
데이터 딕셔너리 뷰 data dictionary view
-딕셔너리에서 사용자가 이해할 수 있는 데이터를
산출(조회)해주는 툴
종류 3가지
- DBA_XXX -관리자만 접근 가능한 개체
-ALL_XXX -자신 계정소유 또는 권한을 부여받은 개체
-USER_XXX- 자신의 계정 개체 (주로 쓰임)
--INSERT
모든 칼럼 자료 입력 시
목록 기술 생략 가능
생략 시 테이블 컬럼 순서 따라 입력
암시적 null 입력
-values 값 생략
명시적 null 입력
- '' , null입력
쓰게 되는 이유 컬럼 목록 생략시에는
명시적 입력을 사용해야 한다.
insert select 문
ex)
insert into table_name
select *
from temp;
insert all 문
ex)
insert all
into table_name values(칼럼명 ...)
into table_name2 values(칼럼명....)
select (위의 칼럼명들과 일치)
from temp
where 조건....;
insert all
when 조건 then
into table_name values(칼럼 명...)
when 조건 then
into table_name2 values(칼럼 명...)
select (위의 칼럼 명들과 일치)
from temp;
--UPDATE
update table_name
set 칼럼명 조건
where 절을 이용 변경 행 지정
, 로 변경 칼럼 추가
SET에 서브쿼리사용 가능
SET두개 이상의 칼럼변경 가능
EX)
UPDATE table_name
set column_name1=(sub_query1),
column_name2= (sub_query2),....
where 조건
EX2)
UPDATE table_name
SET (column_name1, column_name2, …) =
(sub_query)
WHERE 조건
EX2)가 더편리
--DELETE
delete from table_name
where conditions;
(select 문 사용 가능)
--MERGE (합병)
두개의 TABLE을 합쳐서
있는 건 업데이트
없는 건 추가한다.
merge into table_name1 t1
using table_name2 t2
on t1.empno= t2.empno
when matched then
update
set
t1.column1 =t2.column1
,t1.column2= t2.column2
,t1.column3= t2.column3
,
,
,t1.column n= t2.column n
when not matched then
insert values(t2.column1,t2.column2,t2.column3...
.... , t2.column n);
--트랜잭션 관리
Transaction
ALL - OR- NOTHING
성공,성공= 성공
성공,실패 =실패
데이터의 일관성 유지
안정적 데이터 복구를 위해 도입
--COMMIT
트랜잭션 작업 내용 DB에 저장
이전 데이터가 완전 UPDATE
모든 사용자가 변경 데이터 결과 열람가능
--SAVEPOINT
--ROLLBACK
트랜잭션 작업내용 취소
이전 COMMIT까지 복구
--자동 COMMIT 및 자동 ROLLBACK
정상 종료 COMMIT 비정상 종료 ROLLBACK
DDL, DCL 명령문 수행 이후 자동 COMMIT
'프로그래밍 > Oracle' 카테고리의 다른 글
DDL, 서브쿼리, 휴지통 (1) | 2019.11.21 |
---|---|
SQL 유형별 명령문 (0) | 2019.11.19 |
like 와일드카드 _ % (2) | 2019.11.14 |
비절차적 언어 SQL 정의 (0) | 2019.11.13 |
오라클 명령어 (0) | 2019.11.13 |