-
011. DEFAULT 표현식, UPDATESsY/Class 2023. 4. 5. 17:51728x90
2023.04.05 (수)
HR 계정 실습
- 팀 과제 (오전)
더보기20230404_02_hr_팀별실습과제_1조.sql 파일 & 후기 확인
- DEFAULT 표현식
--■■■ DEFAULT 표현식 ■■■-- -- 1. INSERT 와 UPDATE 문에서 -- 사용자가 전달하는 특정 값이 아닌 -- 기본으로 설정한 값을 입력하도록 처리할 수 있다. -- 2. 형식 및 구조 -- 컬럼명 데이터타입 DEFAULT 기본값 -- 3. INSERT 명령 시 해당 컬럼에 입력될 값을 할당하지 않거나 -- (→ 설정하지 않으면 NULL) -- DEFAULT 키워드를 이용하여 기본 값을 입력하도록 할 수 있다. -- 4. DEFAULT 키워드와 다른 제약(NOT NULL 등) 표기가 같이 오는 경우 -- DEFAULT 키워드를 먼저 표기(작성)할 것을 권장한다. --// 제약조건 뒤에 작성할 경우 종종 DEFAULT 가 기능을 하지 못하는 경우가 있기 때문에
- DEFAULT 표현식 실습
- 테이블, 시퀀스 생성 후 세션설정 변경
- 데이터 입력 후 확인
더보기--○ DEFAULT 표현식 실습 -- 테이블 생성 CREATE TABLE TBL_BOARD -- 게시판 테이블 생성 ( SID NUMBER PRIMARY KEY -- 게시물 번호 → 식별자 (자동 증가) , NAME VARCHAR2(30) -- 게시물 작성자 , CONTENTS VARCHAR2(2000) -- 게시물 내용 , WRITEDAY DATE DEFAULT SYSDATE -- 게시물 작성일 (현재 날짜 자동 입력) , COMMENTS NUMBER DEFAULT 0 -- 게시물 댓글 갯수 (기본값 0) , COUNTS NUMBER DEFAULT 0 -- 게시물 조회수 (기본값 0) ); --==>> Table TBL_BOARD이(가) 생성되었습니다. ------------------------------------------------------------------------------------------ --※ SID 를 자동 증가 값으로 운영하려면 시퀀스 객체가 필요하다. -- 자동으로 입력되는 컬럼은 사용자가 입력해야 하는 항목에서 -- 제외시킬 수 있다. ------------------------------------------------------------------------------------------ -- 시퀀스 생성 CREATE SEQUENCE SEQ_BOARD NOCACHE; --==>> Sequence SEQ_BOARD이(가) 생성되었습니다. ------------------------------------------------------------------------------------------ -- 세션 설정 변경 ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; --==>> Session이(가) 변경되었습니다. ------------------------------------------------------------------------------------------ -- 게시물 작성 INSERT INTO TBL_BOARD(SID, NAME, CONTENTS, WRITEDAY, COMMENTS, COUNTS) VALUES(SEQ_BOARD.NEXTVAL,'재혁킴','오라클에서 DEFAULT 표현식을 실습중입니다.' , TO_DATE('2023-04-05 15:28:10', 'YYYY-MM-DD HH24:MI:SS'), 0, 0); --==>> 1 행 이(가) 삽입되었습니다. --// 기본값을 하나도 사용안한 채로 생성. --// 말그대로 기본값이기 때문에, 설정값이 있으면 무시하고 설정값대로 입력 가능 INSERT INTO TBL_BOARD(SID, NAME, CONTENTS, WRITEDAY, COMMENTS, COUNTS) VALUES(SEQ_BOARD.NEXTVAL,'서영유','계속해서 실습중입니다.', SYSDATE, 0, 0); --==>> 1 행 이(가) 삽입되었습니다. INSERT INTO TBL_BOARD(SID, NAME, CONTENTS, WRITEDAY, COMMENTS, COUNTS) VALUES(SEQ_BOARD.NEXTVAL,'수인주','힘을내어 실습중입니다.', DEFAULT, DEFAULT, DEFAULT); --==>> 1 행 이(가) 삽입되었습니다. --// DEFAULT 값을 이용해 생성. INSERT INTO TBL_BOARD(SID, NAME, CONTENTS) VALUES(SEQ_BOARD.NEXTVAL,'별희강','테스트를 마무리 중입니다.'); --==>> 1 행 이(가) 삽입되었습니다. --// 입력 값에서 제외 시키고 생성해봄 ------------------------------------------------------------------------------------------ -- 확인 SELECT * FROM TBL_BOARD; --==>> /* 1 재혁킴 오라클에서 DEFAULT 표현식을 실습중입니다. 2023-04-05 15:28:10 0 0 2 서영유 계속해서 실습중입니다. 2023-04-05 15:31:25 0 0 3 수인주 힘을내어 실습중입니다. 2023-04-05 15:32:14 0 0 4 별희강 테스트를 마무리 중입니다. 2023-04-05 15:33:23 0 0 */ COMMIT; --==>> 커밋 완료.
- DEFAULT 표현식 확인
--○ DEFAULT 표현식 확인(조회) SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TBL_BOARD'; --==> /* 전체 조회 가능 */ --------------------------------------------------------------- --// 필요한 부분만 재구성 SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME='TBL_BOARD'; --==>> /* TBL_BOARD SID NUMBER (null) TBL_BOARD NAME VARCHAR2 (null) TBL_BOARD CONTENTS VARCHAR2 (null) TBL_BOARD WRITEDAY DATE SYSDATE TBL_BOARD COMMENTS NUMBER 0 TBL_BOARD COUNTS NUMBER 0 */
- 테이블 생성 이후 DEFAULT 표현식 추가/ 변경
--○ 테이블 생성 이후 DEFAULT 표현식 추가/ 변경 ALTER TABLE 테이블명 MODIFY 컬럼명[자료형] DEFAULT 기본값; --// 기존 DEFAULT 표현식을 수정할 때도 사용하고, --// DEFAULT 표현식이 없는 컬럼에 설정할 때에도 사용하면 생성되게 된다. --○ 테이블 생성 이후 DEFAULT 표현식 제거(삭제) ALTER TABLE 테이블명 MODIFY 컬럼명[자료형] DEFAULT NULL; --// 제거하는 방법은 별도로 구문이 있는것이 아니고, --// DEFAULT 변경구문의 기본값에 NULL 값을 넣고 변경하게 되면 DEFAULT 값이 없는 것과 동일하다.
SCOTT 계정 실습
- UPDATE
--■■■ UPDATE ■■■-- -- 1. 테이블에서 기존 데이터를 변경할 수 있도록 처리하는 구문. -- 2. 형식 및 구조 -- UPDATE 테이블명 -- SET 컬럼명=변경할 값[, 컬럼명=변경할값,...] -- [WHERE 조건절]
더보기--○ TBL_SAWON 테이블에서 사원번호 1003번 사원의 -- 주민번호를 『8403302234567』로 수정한다. UPDATE TBL_SAWON SET JUBUN='8403302234567' WHERE SANO=1003; --==>> 1 행 이(가) 업데이트되었습니다. SELECT * FROM TBL_SAWON; --==>> 1003 최이서 8403302234567 1999-08-16 5000 -- 실행 후 COMMIT 또는 ROLLBACK 을 반드시 선택적으로 실행 COMMIT; --==>> 커밋 완료. --// DDL 구문 AUTO 커밋 됨 (DDL : CREATE, ALTER ...) --// DML 구문만 ROLLBACK 가능
--○ TBL_SAWON 테이블에서 1005번 사원의 입사일과 급여를 -- 각각 2019년 2월 22일, 2200 으로 변경한다. UPDATE TBL_SAWON SET HIREDATE=TO_DATE('2019-02-22','YYYY-MM-DD') , SAL=2200 --// 바꾸고자 하는 데이터는 『,』로 구분 WHERE SANO=1005; --==>> 1 행 이(가) 업데이트되었습니다. SELECT * FROM TBL_SAWON; --==>> 1005 양수현 9907092234567 2019-02-22 2200 COMMIT; --==>> 커밋 완료.
--○ TBL_INSA 테이블 복사 (구조와 데이터만) CREATE TABLE TBL_INSABACKUP AS SELECT * FROM TBL_INSA WHERE JIKWI IN('부장','과장'); --==>> Table TBL_INSABACKUP이(가) 생성되었습니다. --○ TBL_INSABACKUP 테이블에서 -- 직위가 과장과 부장만 수당 10% 인상~!!! SELECT * FROM TBL_INSABACKUP; --==>> /* 홍길동 부장 200000 220000 이순애 부장 160000 176000 이기자 과장 150000 165000 김종서 부장 130000 143000 이상헌 과장 150000 165000 박문수 과장 165000 181500 김인수 부장 170000 187000 김영길 과장 170000 187000 정정해 과장 124000 136400 지재환 부장 160000 176000 최석규 과장 187000 205700 문길수 과장 150000 165000 허경운 부장 150000 165000 권영미 과장 104000 114400 이미경 부장 160000 176000 */ UPDATE TBL_INSABACKUP SET SUDANG=SUDANG*1.1 WHERE JIKWI IN ('부장','과장'); --==>> 15개 행 이(가) 업데이트 되었습니다. SELECT * FROM TBL_INSABACKUP; COMMIT;
--○ TBL_INSABACKUP 테이블에서 전화번호가 016, 017, 018, 019 로 시작하는 -- 전화번호인 경우 이를 모두 010 으로 변경한다. UPDATE TBL_INSABACKUP SET 기존 전화번호의 앞 세자리만 '010'으로 수정하고 나머지 번호는 그대로 유지 WHERE 전화번호의 앞 3자리가 '016','017','018','019'; SELECT * FROM TBL_INSABACKUP WHERE SUBSTR(TEL,1,3) IN ('016','017','018','019'); --==>> /* 1004 김정훈 790304-1788896 2000-10-01 전북 019-5236-4221 영업부 대리 1954200 170000 1005 한석봉 811112-1566789 2004-08-13 서울 018-5211-3542 총무부 사원 1420000 160000 1008 김영년 821011-2362514 2002-04-30 서울 016-2222-4444 홍보부 사원 950000 145000 1009 나윤균 810810-1552147 2003-10-10 경기 019-1111-2222 인사부 사원 840000 220400 1012 정한국 760909-1333333 1999-10-16 강원 018-2222-4242 홍보부 사원 880000 114000 1013 조미숙 790102-2777777 1998-06-07 경기 019-6666-4444 홍보부 대리 1601000 103000 1015 이현숙 800606-2954687 1999-07-26 경기 016-2548-3365 총무부 사원 1050000 104000 1018 이성길 801028-1849534 2004-08-08 전북 018-1333-3333 개발부 사원 880000 123000 1019 박문수 780710-1985632 1999-12-10 서울 017-4747-4848 인사부 과장 2300000 181500 1022 이영숙 800501-2312456 2003-02-25 전남 017-5214-5282 기획부 대리 1960000 180000 1027 김영길 801216-1898752 2000-10-18 서울 019-8523-1478 총무부 과장 2340000 187000 1028 이남신 810101-1010101 2001-09-07 제주 016-1818-4848 인사부 사원 892000 110000 1029 김말숙 800301-2020202 2000-09-08 서울 016-3535-3636 총무부 사원 920000 124000 1030 정정해 790210-2101010 1999-10-17 부산 019-6564-6752 총무부 과장 2304000 136400 1031 지재환 771115-1687988 2001-01-21 서울 019-5552-7511 기획부 부장 2450000 176000 1032 심심해 810206-2222222 2000-05-05 전북 016-8888-7474 자재부 사원 880000 108000 1040 박세열 790509-1635214 2000-09-10 경북 016-4444-7777 인사부 대리 2100000 130000 1041 문길수 721217-1951357 2001-12-10 충남 016-4444-5555 자재부 과장 2300000 165000 1043 양미옥 830504-2471523 2003-09-24 서울 016-8548-6547 영업부 사원 1100000 210000 1046 허경운 760105-1458752 1999-05-04 경남 017-3333-3333 총무부 부장 2650000 165000 1047 산마루 780505-1234567 2001-07-15 서울 018-0505-0505 영업부 대리 2100000 112000 1054 정상호 810705-1212141 1999-10-16 강원 016-1919-4242 홍보부 사원 980000 114000 1055 정한나 820506-2425153 2004-06-07 서울 016-2424-4242 영업부 사원 1000000 104000 1057 이미경 780406-2003214 1998-02-11 경기 016-6542-7546 자재부 부장 2520000 176000 */ UPDATE TBL_INSABACKUP SET 기존 전화번호의 앞 세자리만 '010'으로 수정하고 나머지 번호는 그대로 유지 WHERE 전화번호의 앞 3자리가 '016','017','018','019'; SELECT TEL"기존전화번호", '010'|| SUBSTR(TEL,4) "변경된 전화번호" FROM TBL_INSABACKUP WHERE SUBSTR(TEL,1,3) IN ('016','017','018','019'); UPDATE TBL_INSABACKUP SET TEL='010'||SUBSTR(TEL,4) WHERE SUBSTR(TEL,1,3) IN ('016','017','018','019'); UPDATE TBL_INSABACKUP SET TEL='010'||SUBSTR(TEL,4) WHERE SUBSTR(TEL,1,3) IN ('016','017','018','019'); --==>> 24개 행 이(가) 업데이트되었습니다. SELECT * FROM TBL_INSABACKUP WHERE SUBSTR(TEL,1,3) IN ('016','017','018','019'); --==>> 조회 결과 없음 SELECT * FROM TBL_INSABACKUP; --==>> /* 1001 홍길동 771212-1022432 1998-10-11 서울 011-2356-4528 기획부 부장 2610000 220000 1002 이순신 801007-1544236 2000-11-29 경기 010-4758-6532 총무부 사원 1320000 200000 1003 이순애 770922-2312547 1999-02-25 인천 010-4231-1236 개발부 부장 2550000 176000 1004 김정훈 790304-1788896 2000-10-01 전북 010-5236-4221 영업부 대리 1954200 170000 1005 한석봉 811112-1566789 2004-08-13 서울 010-5211-3542 총무부 사원 1420000 160000 1006 이기자 780505-2978541 2002-02-11 인천 010-3214-5357 개발부 과장 2265000 165000 1007 장인철 780506-1625148 1998-03-16 제주 011-2345-2525 개발부 대리 1250000 150000 1008 김영년 821011-2362514 2002-04-30 서울 010-2222-4444 홍보부 사원 950000 145000 1009 나윤균 810810-1552147 2003-10-10 경기 010-1111-2222 인사부 사원 840000 220400 1010 김종서 751010-1122233 1997-08-08 부산 011-3214-5555 영업부 부장 2540000 143000 1011 유관순 801010-2987897 2000-07-07 서울 010-8888-4422 영업부 사원 1020000 140000 1012 정한국 760909-1333333 1999-10-16 강원 010-2222-4242 홍보부 사원 880000 114000 1013 조미숙 790102-2777777 1998-06-07 경기 010-6666-4444 홍보부 대리 1601000 103000 1014 황진이 810707-2574812 2002-02-15 인천 010-3214-5467 개발부 사원 1100000 130000 1015 이현숙 800606-2954687 1999-07-26 경기 010-2548-3365 총무부 사원 1050000 104000 1016 이상헌 781010-1666678 2001-11-29 경기 010-4526-1234 개발부 과장 2350000 165000 1017 엄용수 820507-1452365 2000-08-28 인천 010-3254-2542 개발부 사원 950000 210000 1018 이성길 801028-1849534 2004-08-08 전북 010-1333-3333 개발부 사원 880000 123000 1019 박문수 780710-1985632 1999-12-10 서울 010-4747-4848 인사부 과장 2300000 181500 1020 유영희 800304-2741258 2003-10-10 전남 011-9595-8585 자재부 사원 880000 140000 1021 홍길남 801010-1111111 2001-09-07 경기 011-9999-7575 개발부 사원 875000 120000 1022 이영숙 800501-2312456 2003-02-25 전남 010-5214-5282 기획부 대리 1960000 180000 1023 김인수 731211-1214576 1995-02-23 서울 영업부 부장 2500000 187000 1024 김말자 830225-2633334 1999-08-28 서울 011-5248-7789 기획부 대리 1900000 170000 1025 우재옥 801103-1654442 2000-10-01 서울 010-4563-2587 영업부 사원 1100000 160000 1026 김숙남 810907-2015457 2002-08-28 경기 010-2112-5225 영업부 사원 1050000 150000 1027 김영길 801216-1898752 2000-10-18 서울 010-8523-1478 총무부 과장 2340000 187000 1028 이남신 810101-1010101 2001-09-07 제주 010-1818-4848 인사부 사원 892000 110000 1029 김말숙 800301-2020202 2000-09-08 서울 010-3535-3636 총무부 사원 920000 124000 1030 정정해 790210-2101010 1999-10-17 부산 010-6564-6752 총무부 과장 2304000 136400 1031 지재환 771115-1687988 2001-01-21 서울 010-5552-7511 기획부 부장 2450000 176000 1032 심심해 810206-2222222 2000-05-05 전북 010-8888-7474 자재부 사원 880000 108000 1033 김미나 780505-2999999 1998-06-07 서울 011-2444-4444 영업부 사원 1020000 104000 1034 이정석 820505-1325468 2005-09-26 경기 011-3697-7412 기획부 사원 1100000 160000 1035 정영희 831010-2153252 2002-05-16 인천 개발부 사원 1050000 140000 1036 이재영 701126-2852147 2003-08-10 서울 011-9999-9999 자재부 사원 960400 190000 1037 최석규 770129-1456987 1998-10-15 인천 011-7777-7777 홍보부 과장 2350000 205700 1038 손인수 791009-2321456 1999-11-15 부산 010-6542-7412 영업부 대리 2000000 150000 1039 고순정 800504-2000032 2003-12-28 경기 010-2587-7895 영업부 대리 2010000 160000 1040 박세열 790509-1635214 2000-09-10 경북 010-4444-7777 인사부 대리 2100000 130000 1041 문길수 721217-1951357 2001-12-10 충남 010-4444-5555 자재부 과장 2300000 165000 1042 채정희 810709-2000054 2003-10-17 경기 011-5125-5511 개발부 사원 1020000 200000 1043 양미옥 830504-2471523 2003-09-24 서울 010-8548-6547 영업부 사원 1100000 210000 1044 지수환 820305-1475286 2004-01-21 서울 011-5555-7548 영업부 사원 1060000 220000 1045 홍원신 690906-1985214 2003-03-16 전북 011-7777-7777 영업부 사원 960000 152000 1046 허경운 760105-1458752 1999-05-04 경남 010-3333-3333 총무부 부장 2650000 165000 1047 산마루 780505-1234567 2001-07-15 서울 010-0505-0505 영업부 대리 2100000 112000 1048 이기상 790604-1415141 2001-06-07 전남 개발부 대리 2050000 106000 1049 이미성 830908-2456548 2000-04-07 인천 010-6654-8854 개발부 사원 1300000 130000 1050 이미인 810403-2828287 2003-06-07 경기 011-8585-5252 홍보부 대리 1950000 103000 1051 권영미 790303-2155554 2000-06-04 서울 011-5555-7548 영업부 과장 2260000 114400 1052 권옥경 820406-2000456 2000-10-10 경기 010-3644-5577 기획부 사원 1020000 105000 1053 김싱식 800715-1313131 1999-12-12 전북 011-7585-7474 자재부 사원 960000 108000 1054 정상호 810705-1212141 1999-10-16 강원 010-1919-4242 홍보부 사원 980000 114000 1055 정한나 820506-2425153 2004-06-07 서울 010-2424-4242 영업부 사원 1000000 104000 1056 전용재 800605-1456987 2004-08-13 인천 010-7549-8654 영업부 대리 1950000 200000 1057 이미경 780406-2003214 1998-02-11 경기 010-6542-7546 자재부 부장 2520000 176000 1058 김신제 800709-1321456 2003-08-08 인천 010-2415-5444 기획부 대리 1950000 180000 1059 임수봉 810809-2121244 2001-10-10 서울 011-4151-4154 개발부 사원 890000 102000 1060 김신애 810809-2111111 2001-10-10 서울 011-4151-4444 개발부 사원 900000 102000 */ COMMIT; --==>> 커밋 완료.
- 실무에서 발생 했던 문제 고민해보기
--○ TBL_SAWON 테이블 백업(2023-04-05 16:35:10) CREATE TABLE TBL_SAWONBACKUP AS SELECT * FROM TBL_SAWON; --==>> Table TBL_SAWONBACKUP이(가) 생성되었습니다 --> TBL_SAWON 테이블의 데이터들만 백업을 수행 -- 즉, 다른 이름의 테이블 형태로 저장해 둔 상황 --○ 확인 SELECT * FROM TBL_SAWONBACKUP; SELECT * FROM TBL_SAWON; UPDATE TBL_SAWON SET SANAME='이귀배'; COMMIT; --==>> 16개 행 이(가) 업데이트 되었습니다. SELECT * FROM TBL_SAWON; --==>> /* 1001 이귀배 9010102234567 2023-03-28 100 1002 이귀배 9902242234567 2010-11-05 2000 1003 이귀배 8403302234567 1999-08-16 5000 1004 이귀배 9910132234567 2008-02-02 4000 1005 이귀배 9907092234567 2019-02-22 2200 1006 이귀배 9604052234567 2009-07-15 2000 1007 이귀배 9806261234567 2009-07-15 2000 1008 이귀배 9607161234567 2010-06-05 1000 1009 이귀배 0204054234567 2012-12-10 1000 1010 이귀배 0503243234567 2015-03-01 1500 1011 이귀배 7505071234567 1998-03-01 3000 1012 이귀배 7102032234567 1995-03-01 2000 1013 이귀배 0607083234567 2015-03-01 4000 1014 이귀배 0512153234567 2020-05-06 3000 1015 이귀배 0102094234567 2010-03-01 2000 1016 이귀배 7309231234567 1996-03-01 4000 */ -- 위 내용과 같이 UPDATE 를 수행하며 COMMIT 을 함께 처리했기 때문에 -- ROLLBACK 은 불가능항 상황이다. -- 하지만, 불행 중 다행으로 TBL_SAWONBACKUP 테이블에 데이터를 백업해 두었다. -- SANAME 컬럼의 내용만 추출하여 '이귀배' 대신 넣어줄 수 있다는 것이다.
-- 한개만 바꿀 때 UPDATE TBL_SAWON SET SANAME = '박혜서' WHERE SANO = '1001'; UPDATE TBL_SAWON SET SANAME = (TBL_SAWONBACKUP 테이블의 특정 사원번호를 갖는 특정 사원의 사원명); UPDATE TBL_SAWON SET SANAME = ( SELECT SANAME FROM TBL_SAWONBACKUP WHERE SANO = TBL_SAWON.SANO); --// 반복문 중첩 되는 것 처럼 돌아가게 된다. SELECT * FROM TBL_SAWON; --==>> /* 1001 박혜서 9010102234567 2023-03-28 100 1002 유서영 9902242234567 2010-11-05 2000 1003 최이서 8403302234567 1999-08-16 5000 1004 양연수 9910132234567 2008-02-02 4000 1005 양수현 9907092234567 2019-02-22 2200 1006 주수인 9604052234567 2009-07-15 2000 1007 이기배 9806261234567 2009-07-15 2000 1008 이준복 9607161234567 2010-06-05 1000 1009 이하이 0204054234567 2012-12-10 1000 1010 이이제 0503243234567 2015-03-01 1500 1011 선동열 7505071234567 1998-03-01 3000 1012 선우용녀 7102032234567 1995-03-01 2000 1013 남주혁 0607083234567 2015-03-01 4000 1014 남궁이 0512153234567 2020-05-06 3000 1015 선우선 0102094234567 2010-03-01 2000 1016 남진 7309231234567 1996-03-01 4000 */ UPDATE TBL_SAWON SET SANAME = '이귀배' WHERE SANO =1007; --==>> 1 행 이(가) 업데이트되었습니다. SELECT * FROM TBL_SAWON; COMMIT; --==>> 커밋 완료.
HR 계정 실습
- 실습
--○ EMPLOYEES 테이블에서 직원들의 SALARY 를 10% 인상한다. -- 단, 부서명이 'IT'인 경우로 한정한다. -- 참고로 ... EMPLOYEES 테이블에는 부서명이 없다. -- (UPDATE 쿼리문을 통해 변경된 데이터를 확인한 후에는 ROLLBACK 한다.)
SELECT * FROM DEPARTMENTS; SELECT * FROM EMPLOYEES; UPDATE EMPLOYEES SET SALARY 를 10% 인상 WHERE 부서명이 'IT'; UPDATE EMPLOYEES SET SALARY = SALARY * 1.1 WHERE 부서명이 'IT'; UPDATE EMPLOYEES SET SALARY = SALARY * 1.1 WHERE 부서아이디 = 60; --// 이 60이라는 숫자를 오라클이 찾게 만들어야함 UPDATE EMPLOYEES SET SALARY = SALARY * 1.1 WHERE DEPARTMENT_ID = ( SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE DEPARTMENT_NAME = 'IT'); --==>> 5개 행 이(가) 업데이트되었습니다. SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE DEPARTMENT_NAME = 'IT'; --==>> 60 SELECT * FROM EMPLOYEES; ROLLBACK; --==> 롤백 완료.
728x90'SsY > Class' 카테고리의 다른 글