zoukankan      html  css  js  c++  java
  • Oracle 12C -- 基于sequence的列的默认值

    12C支持先创建一个sequence,然后再将该sequence指定为某个列的值的默认表达式。

    和"identity column"具有以下不同点:

    ·对列的个数没有限制

    ·sequence必须在列定义之前定义

    ·如果删除了sequence,会导致后面的insert报错

    ·表的owner,和使用者对该sequence必须有select权限

    ·可以手动插入、更新该列(不使用sequence产生的值)

    SQL> drop sequence test_seq;
    SQL> create sequence test_seq start with 1;
    SQL> drop table sequence_test_tab;
    SQL> create table sequence_test_tab(id number default test_seq.nextval);
    SQL> insert into sequence_test_tab values(null);
    SQL> insert into sequence_test_tab values(null);
    SQL> insert into sequence_test_tab values(default);
    SQL> insert into sequence_test_tab values(default);
    SQL> insert into sequence_test_tab values(10000);
    SQL> commit;
    
    --结果显示可以插入null、字面值,而不使用sequence的值。插入default值的时候就使用sequence的值。
    SQL> select * from sequence_test_tab;
    
            ID
    ----------
    
    
             1
             2
         10000
    
    SQL> select count(*) from sequence_test_tab;
    
      COUNT(*)
    ----------
             5
    
    SQL> 
    
    --插入数据时,如果没有指定该列,也会使用sequence的值来默认插入
    alter table sequence_test_tab add (col_2 number);
    insert into sequence_test_tab(col_2) values(99);
    SQL> select * from sequence_test_tab;
    
            ID      COL_2
    ---------- ----------
    
    
             1
             2
         10000
             3         99
    
    6 rows selected.
    
    SQL> 
  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/abclife/p/4720467.html
Copyright © 2011-2022 走看看