检查约束必须是确定性的.也就是说,特定行必须始终满足约束,否则它必须始终无法满足约束.但是,由于返回值不断变化,因此SYSDATE本质上是不确定的.因此,您无法定义调用SYSDATE或任何其他用户定义函数的CHECK约束.

如果您尝试在约束定义中引用SYSDATE,则会出现错误

sql> ed

Wrote file afiedt.buf

1 create table t(

2 birth_date date check( birth_date between date '1900-01-01' and

3 sysdate )

4* )

sql> /

sysdate )

*

ERROR at line 3:

ORA-02436: date or system variable wrongly specified in CHECK constraint

您可以创建一个CHECK约束,其中最小和最大日期都是硬编码的,但这不是特别实用,因为您必须不断删除并重新创建约束.

sql> ed

Wrote file afiedt.buf

1 create table t(

2 birth_date date check( birth_date between date '1900-01-01' and

3 date '2011-12-08' )

4* )

sql> /

Table created.

强制执行此类要求的实际方法是在表上创建触发器

CREATE OR REPLACE TRIGGER check_birth_date

BEFORE INSERT OR UPDATE ON employee

FOR EACH ROW

BEGIN

IF( :new.emp_dob < date '1900-01-01' or

:new.emp_dob > sysdate )

THEN

RAISE_APPLICATION_ERROR(

-20001,'EMployee date of birth must be later than Jan 1,1900 and earlier than today' );

END IF;

END;

oracle check 日期大于,sql – 出生日期的CHECK约束?相关推荐

  1. oracle 查询日期最大值,sql语句查询每天数据中的最大值

    案例: 创建天气小时表和天气日期表 create table dbo.T_WeatherStreetDataHourly ( ID bigint identity(1, 1), DDATETIME d ...

  2. SQL语法之 CHECK 约束

    SQL学习 学习SQL语法 SQL语法 SQL学习 SQL语法之 CHECK 约束 SQL CHECK Constraint on CREATE TABLE SQL CHECK Constraint ...

  3. SQL学习之check约束

    目录 参考源 SQL check 约束 示例数据 create table 添加 check 约束 多个字段添加约束 给 check 约束命名 alter table 时的 SQL check 约束 ...

  4. Oracle 9i与MS SQL Server 2000之比较连载五.zz

    http://kb.cnblogs.com/a/1153156 Oracle 9i与MS SQL Server 2000之比较连载五 2008-04-14 18:13 四.Oracle中新的数据库对象 ...

  5. 部分常见ORACLE面试题以及SQL注意事项

    一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id) ) CREATE TABL ...

  6. ORACLE各种常见java.sql.SQLException归纳

    java.sql.SQLException错误! ORA-00904:     --invalid column name 无效列名 ORA-00942: --table or view does n ...

  7. oracle笔记一(sql语句方面)

    oracle笔记一(sql语句方面) 一.sql语句 --================================================ 1.增加主键    alter table ...

  8. oracle图书操作、sql语句查询+授权、视图、索引、表操作

    oracle图书操作.sql语句查询+授权.视图.索引.表操作 一.创建一张表book,表结构为(总编号,分类号,书名,作者,出版单位,单价),插入若干记录 二.创建一张表reader,表结构为(借书 ...

  9. MySQL,Oracle系统学习,以及SQL语言-----数据库篇学习笔记

    Handouts MySQL和Oracle系统学习 一. 开篇立意(~~~~必看,有说明~~~~) 二. Oracle 篇 数据库存在之意义 基础概念(必须看,后面不会说明!!!) Oracle管理系 ...

最新文章

  1. 一个好域名的作用和价值
  2. Linux脚本关联,shell数组和关联数组
  3. mysql三学习sql声明学习
  4. C++虽不会过时,但是真的难啊!
  5. mysql排序两位数_MySQL_Mysql row number()排序函数的用法和注意,虽然使用不多,但是也有情况 - phpStudy...
  6. Jmeter(二)目录介绍
  7. CTO 深度解读 SMTX OS 3.5 产品特性
  8. 安装TensorFlow中遇到的问题(汇总)
  9. oracle数据库问答汇总
  10. 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
  11. 1534 棋子游戏(博弈论,未知规律... ...)
  12. Spark学习笔记(一)
  13. mysql批量导出导入数据
  14. miracl实现sm2
  15. android格式化sd卡软件,SD/TF卡格式化程序
  16. 空手套白狼的典型案例,不花一分钱,整合别家产品,赚自己的钱
  17. 红米手机android在哪里,红米手机usb调试在哪【图文】
  18. android虚拟按键
  19. Excel:妙用自定义函数让班级名称自动化(转)
  20. dreamweaver网页设计作业制作 (NBA篮球网页设计与制作) HTML+CSS

热门文章

  1. 报错解决Error parsing Mapper XML
  2. 【Python】某商店T恤的价格为35元/件(2件9折,3件以上8折)裤子的价格为120元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
  3. ​PNAS:alpha频率经颅电刺激调控大脑默认网络
  4. hdu 4561 模拟小题or连续最大积
  5. .io域名在申请SSL证书时被坑
  6. rxjs_如何阅读rxjs大理石图
  7. DaoCloud的使用
  8. 局域网传输文件_【电脑篇】巧借局域网,告别第三方工具便捷实现电脑间的文件传输...
  9. linux中swi指令,Arm Linux系统调用流程详细解析SWI
  10. 后台控制游戏开关_今天购买这些开关游戏