Oracle/SQL (98) 썸네일형 리스트형 SQL 자동커밋 기능 활성화 시키기 자동커밋 상태 확인하기 SHOW AUTOCOMMIT ; 자동커밋기능 활성화 시키기 set autocommit on ; → autocommit IMMEDIATE 문장 나옴 자동커밋 기능을 활성화 시키면 DML 문장이 실행 될 때마다 자동 커밋 된다. 자동커밋기능 비활성화 시키기 set autocommit off ; SQL [DML문] MERGE 데이터 삽입,수정,삭제 한번에 1. 현업에서는 업데이트 문장을 빠르게 수행 하고싶을때, 튜닝의 용도로 많이 사용합니다. 2. INSERT, UPDATE, DELETE 를 한번에 수행하는 SQL 이고, 3. 주로 대용량 데이터를 한번에 UPDATE 하여 SQL 성능을 개선하기 위해서 사용됩니다. 예제 : emp 와dept 조인하여 사원이름, 부서위치 출력 select e.ename, d.loc from emp e, dept d where e.deptno = d.deptno; 예제 emp 와 dept 를 조인하지 않고 그냥 emp 테이블에서 부서위치에 대한 데이터도 보기위해 emp 테이블에 loc 컬럼을 추가 alter table emp add loc varchar2(10); 예제 : loc 에 각각 update 를 해야하는데 updat.. SQL [TCL] COMMIT 과 ROLLBACK 이 암시적으로 수행되는 경우 commit 1. 정상 종료 했을때다시 delete 후 rollback 하지 않고 exit 을 했을때 다시 들어가서 select 해보면 다 삭제 되어있다. —> 정상종료 되지 않으면 (exit ) 2. ddl 문을 실행 했을때 (create, alter, drop, truncate, rename) --> delete, update 문 실행후 그다음 ddl 문을 실행 하게 되면 앞의 delete, update 문은 암시적으로 commit 이 수행 되게 된다. 3. dcl 문을 실행했을때 ( grant , revoke ) rollback delete 했는데 갑자기 컴퓨터가 비정상적으로 종료되었을때 ex ) exit 없이 그냥 창을 닫거나, 컴퓨터가 그냥 꺼지거나 하는 모든 상황 SQL table backup emp_backup 이라는 이름으로 emp 테이블과 똑같은 테이블을 생성합니다. create table emp_backup as select * from emp; → select * from emp_backup; ——→ 확인 SQLdeveloper 로 백업하는 방법 엑셀이나 csv 로 생성해 놓는다. 백업 방법 오른쪽 버튼 - 데이터 익스포트 형식을 csv 또는 엑셀로 변경 해 준다. 다름이름 저장 의 단일파일을 → 별도의 파일로 선택 저장위치 내가원하는위치 설정 저장위치 데스크탑에서 디렉토리이름 백업을 생성하여 저장해 준다. (다른방법으로해도됨) 보면 메모장으로 생성되어있음 SQL [DML문] Drop - 수행되면서 암시적으로 commit 전부 다 지운다. 취소여부 - 불가능 플래쉬백 여부 - 가능 수행이 되면서 commit 이 자동적으로 수행된다. → 그래서 rollback 안됨. drop table emp; rollback; ———————> 안됨. 도스창에서 휴지통 보는법 show recyclebin; 도스창에서 휴지통 비우기 purge recyclebin 오라클에서 휴지통 보는법 select * from user_recyclebin; 휴지통에서 emp 테이블을 복구하기 flashback table emp to before drop ; select * from emp; —————————> 다시 나타남. SQL [DML문] Truncate 데이터 삭제 복구불가 저장구조만 남긴다. delete 보다 더 삭제가 빠르다. 취소여부 - 불가능 플래쉬백 여부 - 불가능 truncate 와 drop 의 차이는 truncate 는 테이블의 구조를 남겨둡니다. 테이블의 구조를 남겨두면 나중에 데이터를 새로 입력할때 테이블을 생성하지않아도된다. truncate table emp; rollback; select * from emp; → rollback 해도 조회안됨. SQL [DML문] Delete 데이터삭제 where 절 없이 작성하면 절 대 안 됨 취소여부 - 가능 rollback 플래쉬백 여부 - 가능 휴지통에 없다. undo segment 라는 공간에 들어가기 때문에 flashback table 로 복구해야한다. delete from 테이블 명 where 지울 데이터 조건 예제 80 스캇의데이터 지우기 delete from emp where ename = 'SCOTT'; 문제 390 월급이 3000 이상인 사원들을 지우기 delete from emp where sal >=3000; 모르고 delete → commit 한 자료 복구 방법 delete from emp; —————> 테이블을 모두 지움 commit; —————→ 다 저장되버림 rollback; ——————> 롤백 안됨 select * fro.. SQL [DML문] Update 데이터 수정 DML - data manipulation language 데이터 조작언어 update 수정할데이터테이블명 set 변경할 컬럼 = 값 where 변경할 데이터 조건 1. where 절없이 작성하면 모든행이 갱신된다. 2. UPDATE 절은 모든 절에서 서브 쿼리 작성이 가능하다. update → subquery 가능 set → subquery 가능 where → subquery 가능 예제 79 SCOTT 의 월급을 3900 으로 수정하시오 update emp set sal =3900 where ename = 'SCOTT'; 문제 387 부서번호가 10번인 사원들 커미션을 9000 으로 변경 UPDATE EMP set comm = 9000 where deptno =10 ; 문제 388 부서번호가 10,20.. 이전 1 2 3 4 5 6 7 8 ··· 13 다음