CREATE TABLE "SCOTT"."CDPF_CITIZEN" 
   ( "UUID" VARCHAR2(32) DEFAULT sys_guid() NOT NULL ENABLE, 
"NAME" VARCHAR2(100), 
"CITIZEN_ID" VARCHAR2(20), 
"CARD_NUM" VARCHAR2(50), 
"GENDER" NUMBER(4,0), 
"RACE" NUMBER(4,0), 
"MARRIAGER" NUMBER(4,0), 
"BIRTHDATE" DATE, 
"JIGUAN_CODE" VARCHAR2(200), 
"EDU_LEVEL" NUMBER(4,0), 
"RESIDENT_ADD" VARCHAR2(200), 
"ZIPCODE" VARCHAR2(6), 
"PHONE_NO" VARCHAR2(30), 
"PHONETYPE" NUMBER(4,0), 
"GUARDIAN" VARCHAR2(50), 
"GUARDIAN_PHONE" VARCHAR2(20), 
"NOW_ADD" VARCHAR2(200), 
"GUARDIAN_R" NUMBER(4,0), 
"WORK_UNIT" VARCHAR2(200), 
"WORK_KIND" VARCHAR2(200), 
"WORK_UNIT_P" NUMBER(4,0), 
"ISFULI" NUMBER(4,0), 
"HUKOU_KIND" NUMBER(4,0), 
"CITYID" NUMBER(6,0), 
"IDT_LEVEL" NUMBER(4,0), 
"IDT_KIND" NUMBER(4,0), 
"IDT_NAME" VARCHAR2(100), 
"IDT_HOSPITAL" VARCHAR2(100), 
"LEVELSTR" VARCHAR2(50), 
"IDT_TYPE" NUMBER(4,0)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" ;
 
  ALTER TABLE "SCOTT"."CDPF_CITIZEN" MODIFY ("UUID" NOT NULL ENABLE);
红色加粗的地方帮忙解释一下???

解决方案 »

  1.   

    SEGMENT CREATION IMMEDIATE ,11g之后,默认不会为新表分配段空间,延迟到插入第一条数据时候才分配。加上这个子句就会创建表格同时分配段空间。
    PCTFREE 这一行是一些参数,每个参数具体含义百度下吧。
    TABLESPACE "USERS" ;指定使用USERS表空间。
    ALTER TABLE这句,修改UUID列为NOT NULL,但是创建表格的时候已经是NOT NULL了,所以这句可以不要。
      

  2.   

    这是建每张表时,oracle都会添加的。首先是说段的信息,其次是表怎么存储,表空间是users,最后是把表的列uuid设置为非空。我的建议,只有表空间TABLESPACE "USERS",这句话是最重要的。
     
      

  3.   


    这个应该是用工具搞出来的... 可以使用
    select dbms_metadata.get_ddl('TABLE','SCOTT,
    CDPF_CITIZEN') from dual;有一个命令可以修改,不要带后面的存储相关的内容.可以百度一下