• Oracle建表实例


      建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,用的时候又不知道怎么用,这里就写一个较完整的建表的例子:

    CREATE TABLE banping
      (id  NUMBER(5)
           CONSTRAINT banping_id_pk PRIMARY KEY,
       last_name VARCHAR2(10)
           CONSTRAINT banping_last_name_nn NOT NULL,
       first_name VARCHAR2(10) NOT NULL UNIQUE,
       userid VARCHAR2(8)
           CONSTRAINT banping_userid_uk UNIQUE,
      start_date DATE DEFAULT SYSDATE,
      title VARCHAR2(10),
      dept_id NUMBER(7)
           CONSTRAINT banping_dept_id_fk REFERENCES dept(id),
      salary NUMBER(11,2),
    user_type VARCHAR2(4)
          CONSTRAINT banping_user_type_ck CHECK
           (user_type IN('IN','OUT')),
    CONSTRAINT banping_uk_title UNIQUE (title,salary)
     )
    INITRANS 1 MAXTRANS 255
    PCTFREE  20  PCTUSED  50
    STORAGE( INITIAL  1024K  NEXT  1024K  PCTINCREASE  0  MINEXTENTS  1  MAXEXTENTS  5)
    TABLESPACE  data

    解释说明如下:
    语法

    CREATE  TABLE  [schema.]table
    (column  datatype [, column  datatype] … )
    [TABLESPACE  tablespace]
     [PCTFREE  integer]
     [PCTUSED  integer]
     [INITRANS  integer]
     [MAXTRANS  integer]
     [STORAGE  storage-clause]
     [LOGGING | NOLOGGING]
     [CACHE | NOCACHE] ];

    Schema:表的所有者
    Table:表名
    Column:字段名
    Datatype:字段的数据类型
    Tablespace:表所在的表空间
    Pctfree:为了行长度增长而在每个块中保留的空间的量(以占整个空间减去块头部后所剩余空间的百分比形式表示),当剩余空间不足pctfree时,不再向该块中增加新行。
    Pctused:在块剩余空间不足pctfree后,块已使用空间百分比必须小于pctused后,才能向该块中增加新行。
    INITRANS:在块中预先分配的事务项数,缺省值为1
    MAXTRANS:限定可以分配给每个块的最大事务项数,缺省值为255
    STORAGE:标识决定如何将区分配给表的存储子句
    LOGGING:指定表的创建将记录到重做日志文件中。它还指定所有针对该表的后续操作都将被记录下来。这是缺省设置。
    NOLOGGING:指定表的创建将不被记录到重做日志文件中。
    CACHE:指定即使在执行全表扫描时,为该表检索的块也将放置在缓冲区高速缓存的LRU列表最近使用的一端。
    NOCACHE:指定在执行全表扫描时,为该表检索的块将放置在缓冲区高速缓存的LRU列表最近未使用的一端。
    STORAGE子句:
    INITIAL:初始区的大小
    NEXT:下一个区的大小
    PCTINCREASE:以后每个区空间增长的百分比
    MINEXTENTS:段中初始区的数量
    MAXEXTENTS:最大能扩展的区数

  • 相关阅读:
    何时使用Hibernate (Gavin King的回答)
    Transaction in ADO.net 2.0
    CollectionClosureMethod in .Net
    如何实现真正的随机数
    如何测试私有方法?(TDD)
    try catch 块的使用原则
    多态小quiz
    A simple way to roll back DB pollution in Test
    一个画图程序的演变
    当前软件开发的反思
  • 原文地址:https://www.cnblogs.com/wangxiaoyang/p/3573793.html
Copyright © 2020-2023  润新知