ORACLE中默认值default的使用方法

在创建数据库表时,你可以指定一个 DEFAULT 值(即默认值)。对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离。

可以在以后某个时候通过一条 ALTER TABLE 命令改变一个字段的默认值,改变之后应用程序代码会立即开始使用新值。

有一点是很重要的,即 DEFAULT 值只有当一个字段没有在 INSERT 或 MERGE 中指定值,或者使用了 DEFAULT 关键字时才会使用。如果你不显式地声明一个 DEFULAT 值,Oracle 将隐式地将默认值定义为 NULL,而且 DEFAULT 关键字也是这样。从 Oracle 9i开始,可以在 DEFAULT 子句中使用诸如 SYSDATE 或 CURRENT_TIMESTAMPE 之类的伪字段。例如:

create table t1(???? id$ integer not null,???? charcol char default 'Y',???? datecol date default sysdate,???? strcol varchar2(30) default user,???? intcol integer default 12);insert into t1 (id$) values (1);select * from t1;?????? ID$ C DATECOL??? STRCOL????????????????????????????? INTCOL---------- - --------- ------------------------------ ----------????????? 1 Y 28-MAY-04 SCOTT?????????????????????????????????? 12

DEFAULT 关键字与INSERT、MERGE 或UPDATE 语法比起来可以看上去没有那么必要,但是想一下如果你希望在插入一列数据时使用所有默认值,那么你就不会这么认为了。Oracle 不接受INSERT INTO

create table t2(charcol char default 'Y',datecol date default sysdate);insert into t2 (charcol) values (default);select * from t2;C DATECOL- ---------Y 28-MAY-04

一个常见的问题

一个常见的问题是模拟其它数据库提供商的 Autonumber 功能,该功能是使用某种顺序数字自动地填充某个字段。在 Oracle 数据库中,不能指定一个顺序数字作为一个字段的 DEFAULT 值;然而,可以使用触发器模拟这一功能。即使一个字段声明为 NOT NULL,也依然可以在 INSERT 语句中忽略这个字段,而使用一个触发器来填充该字段的值。注意使用 DEFAULT 关键字比使用显式的 NULL 可读性要好。

create sequence t3_seq;create table t3(id$ integer constraint t3_pk primary key);create or replace trigger t3_autonumberbefore insert on t3 for each rowbegin???? if :new.id$ is null then??????? select t3_seq.nextval into :new.id$ from dual;???? end if;end;/show errors;insert into t3(id$) values (default);select * from t3;??????? ID$----------????????? 1

可以使用SYS_CONTEXT 值的集合中的默认值来填充字段,并收集有关某处一个会话的重要信息:

create table t4(???? when date default SYSDATE,???? db_domain varchar2(200) default SYS_CONTEXT('USERENV','DB_DOMAIN'),???? host varchar2(256) default

Oracle里default什么意思,ORACLE中默认值default的使用方法.doc相关推荐

  1. mysql+默认值+default_十六、MySQL 中数据类型的默认值 - default 约束-搜云库

    MySQL 中,所有的数据类型,都可以显式或隐式的拥有默认值. 我们可以使用 DEFAULT 约束显式的为列指定一个默认值.比如 CREATE TABLE t1 ( i INT DEFAULT -1, ...

  2. css中默认值的灰色rgb_rgb()函数以及CSS中的示例

    css中默认值的灰色rgb Introduction: 介绍: Functions and properties go hand in hand while developing a website ...

  3. 传奇服务器是测试模式怎么修改,www.23bb.net告诉你传奇服务端中默认系统提示文字修改方法...

    在玩传奇中中,常见一些系统提示,如人物在安全区中扔东西时,会弹出对话框提示禁止扔,或者在游戏登陆时提示攻击模式,及人物行会显示与夫妻称号显示格式等所有的系统默认格式.其实这些格式都是可以进行修改的,今 ...

  4. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  5. UE4 C++入门之路4-PostInitProperties函数详解(设置属性默认值的四种方法)

    PostInitProperties函数详解 前言 设置属性默认值的四种方法 一 声明时赋值 二 构造函数赋值 三 构造函数初始化列表 四 PostInitProperties 前言 也许在工作或者学 ...

  6. oracle里面的锁,基于oracle中锁的深入理解

    ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share 共享锁(S):阻止其他DML操作 ...

  7. oracle 添加默认值列,Oracle 11g增加列,并带默认值的新特性

    永久链接:http://www.ixdba.com/html/y2007/m08/159-oracle11g-add-column.html 老和尚在他的blog中描述了了这个问题,我这里做一个详细的 ...

  8. oracle sql列默认值,sql – Oracle:指定对象类型列的默认值

    我有一个带有no-args构造函数的对象类型,但是当我将它指定为该类型列的默认值时,我得到ORA-00904:无效的标识符错误. 例: CREATE OR REPLACE TYPE test_t AS ...

  9. mysql创建数据库没有默认值报错_详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题...

    现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' 原因 ...

最新文章

  1. java垃圾回收机制_笔记 | Java垃圾回收机制
  2. First non repeating word in a file? File size can be 100GB.
  3. 020-请你说一说app测试的工具
  4. Mybatis-Plus升级完成! 我的系统到底更新了什么?Mybatis-Plus比Mybatis好在了哪里?
  5. c++ 多重背包状态转移方程_【模板】各种背包问题amp;讲解
  6. python方向键键值_Python实现的字典排序操作示例【按键名key与键值value排序】
  7. 腾讯游戏应邀2019大数据产业峰会BDIC | 荣获“大数据星河奖”并获颁测评证书...
  8. CHARTING图表控件介绍及下载地址
  9. leetcode题解167-两数之和 II - 输入有序数组
  10. 戴尔服务器t系列和r系列,满足VR需求 戴尔升级T/R系列塔式工作站
  11. 我发现了3572个漏洞 今天又是崭新的一天
  12. 信息学奥赛一本通1090
  13. reg类型变量综合电路_基本门电路逻辑符号.doc
  14. Class 2 搭建简历网站
  15. java计算机毕业设计共享充电宝管理系统演示录像2021源码+mysql数据库+系统+lw文档+部署
  16. stm32 SWD调试接口的使用
  17. 硬件电路设计入门奉献系列(一)
  18. Nginx知识点整理
  19. 学习java的心得体会_学习java的心得体会范文.doc
  20. 如何正确使用移动硬盘

热门文章

  1. C#对事务的代码封装
  2. 《Python核心编程》第二版第36页第二章练习 -Python核心编程答案-自己做的-
  3. “你要是有这个功能就好了!”
  4. 小程序离成功还差一个版本
  5. 一个月后的2016产品汪温馨提示
  6. 活动社交产品怎么设计排序算法?
  7. 高级PM分析足记的成长周期,你的产品距离火爆还有多久?
  8. 【运营】产品经理必须了解的运营方法,让你的产品有产有销
  9. 【干货】你如何寻找APP?发现优秀 APP 的一些途径
  10. poj1050 To the Max