• 10주차 과제 - TCL, DCL
  • 실습 환경 : Oracle
  • 해결 날짜 : 2021-05-09

  • 과제

    • 10-1. EMP 테이블에 데이터를 추가, 수정, 삭제하는 SQL문을 작성하고 그 중간에 저장점을 설정하세요. 그리고 그 실행 결과를 출력하세요. [1점]

      • SQL문 :
      INSERT INTO EMP
          (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, DEPTNO)
          VALUES(7777, 'YERIN', 'SALESMAN', 7698, '89/01/01', 800, 30);
      
      UPDATE EMP
      SET SAL = 6000
      WHERE JOB = 'PRESIDENT';
      
      SAVEPOINT SVP1;
      
      DELETE EMP
      WHERE ENAME = 'YERIN';
      
      • 실행 결과 :

      image image image

    • 10-2. [과제10-1]에서 작성한 SQL문들에 설정된 저장점까지 ROLLBACK을 수행하는 문장을 추가하세요. 그리고 실행 결과를 출력하세요. [1점]

      • SQL문 :
      ROLLBACK TO SVP1;
      
      • 실행 결과 :

      image

    • 10-3. [과제10-2]에서 작성한 SQL문들에 저장점을 지정하지 않는 ROLLBACK문장을 추가하세요. 그리고 그 실행 결과를 출력하세요. [1점]

      • SQL문 :
      ROLLBACK;
      
      • 실행 결과 :

      image

    • 10-4. [예제1]~[예제3]을 참고하여 시스템 관리자로 접속하여 임의의 유저를 생성 후 생성한 유저로 접속하여 임의의 테이블을 생성하거나 기존 테이블에서 데이터를 조회하는 SQL문을 작성하고 실행해보세요. 그리고 그 실행 결과를 출력하세요. [1점]

      • SQL문 :
      CONN SYSTEM/PASSWORD
      CREATE USER c##SAMPLE1 IDENTIFIED BY SAMPLE;
      
      CONN c##SAMPLE1/SAMPLE
      CREATE TABLE MENU (
          MENU_SEQ NUMBER NOT NULL,
          TITLE VARCHAR2(10) );
      
      • 실행 결과 :

      image

    • 10-5. [예제4]를 참고하여 시스템 관리자로 접속하여 [과제10-4]에서 생성한 유저에게 다른 유저, 세션, 테이블 생성 권한을 부여하세요. 그런 다음 그 유저로 접속하여 임의의 테이블을 생성한 뒤 데이터를 추가하고 그 데이터를 조회하는 SQL문을 작성하세요. 그리고 그 실행 결과를 출력하세요. [1점]

      • SQL문 :
      CONN SYSTEM/PASSWORD
      GRANT CREATE USER TO c##SAMPLE1;
      GRANT CREATE SESSION TO c##SAMPLE1;
      GRANT CREATE TABLE TO c##SAMPLE1;
      ALTER USER c##SAMPLE1 DEFAULT TABLESPACE USERS quota unlimited on users;
      
      CONN c##SAMPLE1/SAMPLE
      CREATE TABLE MENU (
          MENU_SEQ NUMBER NOT NULL,
          TITLE VARCHAR2(10) );
      INSERT INTO MENU
          VALUES(20, 'EXAMPLE');
      SELECT * FROM MENU;
      
      • 실행 결과 :

      image image