• 延迟段创建的学习-实验


    SQL> CREATE TABLE part_time_employees (
      2      empno NUMBER(8),
      3      name VARCHAR2(30),
      4      hourly_rate NUMBER (7,2)
      5      )  
      6      SEGMENT CREATION DEFERRED;

    Table created.

    SQL> CREATE TABLE hourly_employees (
      2      empno NUMBER(8),
      3      name VARCHAR2(30),
      4      hourly_rate NUMBER (7,2)
      5      )
      6     SEGMENT CREATION IMMEDIATE
      7     PARTITION BY RANGE(empno)
      8      (PARTITION empno_to_100 VALUES LESS THAN (100),
      9      PARTITION empno_to_200 VALUES LESS THAN (200));

    Table created.


    sql> select segment_name,partition_name from user_segments
    rows will be truncated

    SQL> col segment_name format a30
    SQL> /

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    DIGITS
    HOURLY_EMPLOYEES               EMPNO_TO_100
    HOURLY_EMPLOYEES               EMPNO_TO_200
    REG_ID_PK
    COUNTRY_C_ID_PK

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    LOC_ID_PK
    LOC_CITY_IX
    LOC_STATE_PROVINCE_IX
    LOC_COUNTRY_IX
    DEPT_ID_PK
    DEPT_LOCATION_IX
    JOB_ID_PK
    EMP_EMAIL_UK
    EMP_EMP_ID_PK
    EMP_DEPARTMENT_IX
    EMP_JOB_IX

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    EMP_MANAGER_IX
    EMP_NAME_IX
    JHIST_EMP_ID_ST_DATE_PK
    JHIST_JOB_IX
    JHIST_EMPLOYEE_IX
    JHIST_DEPARTMENT_IX

    28 rows selected.

    SQL>  select segment_name,partition_name from user_segments where segment_name like 'HOURLY%';

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    HOURLY_EMPLOYEES               EMPNO_TO_100
    HOURLY_EMPLOYEES               EMPNO_TO_200

    SQL>  select segment_name,partition_name from user_segments where segment_name like 'PART%';

    no rows selected

    SQL>
    SQL>
    SQL>
    SQL> SELECT TABLE_NAME, SEGMENT_CREATED FROM USER_TABLES;

    TABLE_NAME       SEG
    ---------------- ---
    LOCATIONS        YES
    PART_TIME_EMPLOY NO
    HOURLY_EMPLOYEES N/A
    COUNTRIES        YES
    ADMIN_WORK_AREA  YES
    EMPLOYEES        YES
    REGIONS          YES
    DEPARTMENTS      YES
    JOB_HISTORY      YES
    JOBS             YES
    DIGITS           YES

    11 rows selected.

    SQL> SELECT table_name, segment_created, partition_name
      2   FROM user_tab_partitions;

    TABLE_NAME       SEG PARTITION_NAME
    ---------------- --- ------------------------------
    HOURLY_EMPLOYEES YES EMPNO_TO_200
    HOURLY_EMPLOYEES YES EMPNO_TO_100

    SQL> INSERT INTO hourly_employees VALUES (99, 'FRose', 20.00);
    INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);
    1 row created.


    SQL> INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);
    INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00)
                                                             *
    ERROR at line 1:
    ORA-00911: invalid character


    SQL> INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);

    1 row created.

    SQL> INSERT INTO hourly_employees VALUES (150, 'LRose', 25.00);

    1 row created.

    SQL> select count(*) from hourly_empaloyees;
    select count(*) from hourly_empaloyees
                         *
    ERROR at line 1:
    ORA-00942: table or view does not exist


    SQL> c/hourly_empaloyees/hourly_employees;
      1* select count(*) from hourly_employees
    SQL> r
      1* select count(*) from hourly_employees

      COUNT(*)
    ----------
             3

    SQL>
    SQL> select * from hourly_employees;

         EMPNO NAME                           HOURLY_RATE
    ---------- ------------------------------ -----------
            99 FRose                                   20
           150 LRose                                   25
           150 LRose                                   25

    SQL>
    SQL>
    SQL> INSERT INTO part_time_employees VALUES (50, 'KReilly', 10.00);

    1 row created.

    SQL> INSERT INTO part_time_employees VALUES (50, 'KReilly', 10.00);

    1 row created.

    SQL> INSERT INTO part_time_employees VALUES (50, 'KReilly', 10.00);

    1 row created.

    SQL> SELECT segment_name, partition_name FROM user_segments;

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    REGIONS
    LOCATIONS
    DEPARTMENTS
    JOBS
    EMPLOYEES
    JOB_HISTORY
    DIGITS
    PART_TIME_EMPLOYEES
    HOURLY_EMPLOYEES               EMPNO_TO_100
    HOURLY_EMPLOYEES               EMPNO_TO_200
    REG_ID_PK

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    COUNTRY_C_ID_PK
    LOC_ID_PK
    LOC_CITY_IX
    LOC_STATE_PROVINCE_IX
    LOC_COUNTRY_IX
    DEPT_ID_PK
    DEPT_LOCATION_IX
    JOB_ID_PK
    EMP_EMAIL_UK
    EMP_EMP_ID_PK
    EMP_DEPARTMENT_IX

    SEGMENT_NAME                   PARTITION_NAME
    ------------------------------ ------------------------------
    EMP_JOB_IX
    EMP_MANAGER_IX
    EMP_NAME_IX
    JHIST_EMP_ID_ST_DATE_PK
    JHIST_JOB_IX
    JHIST_EMPLOYEE_IX
    JHIST_DEPARTMENT_IX

    29 rows selected.

    SQL>

  • 相关阅读:
    [好文翻译]保卫你的日历
    如何使用PowerShell修改Host文件
    如何使用PowerShell修改注册表
    MSDN文章纠错Automating Microsoft SharePoint 2010 with Windows PowerShell 2.0 (book excerpt)
    如何在PowerShell中得到一个对象的所有属性名和方法名呢?
    Service Object Model
    记录一个问题的解决方法
    STSADM Sync 命令里的 – Ignoreisactive 标志位
    Javascript实现图片位置控制(鼠标拖拽 + 键盘方向键移动)源码分享
    从零开始学习jQuery (六) AJAX快餐【转】
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3161624.html
Copyright © 2020-2023  润新知