oracle check 日期大于,sql – 出生日期的CHECK约束?
检查约束必须是确定性的.也就是说,特定行必须始终满足约束,否则它必须始终无法满足约束.但是,由于返回值不断变化,因此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约束?相关推荐
- oracle 查询日期最大值,sql语句查询每天数据中的最大值
案例: 创建天气小时表和天气日期表 create table dbo.T_WeatherStreetDataHourly ( ID bigint identity(1, 1), DDATETIME d ...
- SQL语法之 CHECK 约束
SQL学习 学习SQL语法 SQL语法 SQL学习 SQL语法之 CHECK 约束 SQL CHECK Constraint on CREATE TABLE SQL CHECK Constraint ...
- SQL学习之check约束
目录 参考源 SQL check 约束 示例数据 create table 添加 check 约束 多个字段添加约束 给 check 约束命名 alter table 时的 SQL check 约束 ...
- 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中新的数据库对象 ...
- 部分常见ORACLE面试题以及SQL注意事项
一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id) ) CREATE TABL ...
- ORACLE各种常见java.sql.SQLException归纳
java.sql.SQLException错误! ORA-00904: --invalid column name 无效列名 ORA-00942: --table or view does n ...
- oracle笔记一(sql语句方面)
oracle笔记一(sql语句方面) 一.sql语句 --================================================ 1.增加主键 alter table ...
- oracle图书操作、sql语句查询+授权、视图、索引、表操作
oracle图书操作.sql语句查询+授权.视图.索引.表操作 一.创建一张表book,表结构为(总编号,分类号,书名,作者,出版单位,单价),插入若干记录 二.创建一张表reader,表结构为(借书 ...
- MySQL,Oracle系统学习,以及SQL语言-----数据库篇学习笔记
Handouts MySQL和Oracle系统学习 一. 开篇立意(~~~~必看,有说明~~~~) 二. Oracle 篇 数据库存在之意义 基础概念(必须看,后面不会说明!!!) Oracle管理系 ...
最新文章
- 一个好域名的作用和价值
- Linux脚本关联,shell数组和关联数组
- mysql三学习sql声明学习
- C++虽不会过时,但是真的难啊!
- mysql排序两位数_MySQL_Mysql row number()排序函数的用法和注意,虽然使用不多,但是也有情况 - phpStudy...
- Jmeter(二)目录介绍
- CTO 深度解读 SMTX OS 3.5 产品特性
- 安装TensorFlow中遇到的问题(汇总)
- oracle数据库问答汇总
- 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
- 1534 棋子游戏(博弈论,未知规律... ...)
- Spark学习笔记(一)
- mysql批量导出导入数据
- miracl实现sm2
- android格式化sd卡软件,SD/TF卡格式化程序
- 空手套白狼的典型案例,不花一分钱,整合别家产品,赚自己的钱
- 红米手机android在哪里,红米手机usb调试在哪【图文】
- android虚拟按键
- Excel:妙用自定义函数让班级名称自动化(转)
- dreamweaver网页设计作业制作 (NBA篮球网页设计与制作) HTML+CSS
热门文章
- 报错解决Error parsing Mapper XML
- 【Python】某商店T恤的价格为35元/件(2件9折,3件以上8折)裤子的价格为120元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
- ​PNAS:alpha频率经颅电刺激调控大脑默认网络
- hdu 4561 模拟小题or连续最大积
- .io域名在申请SSL证书时被坑
- rxjs_如何阅读rxjs大理石图
- DaoCloud的使用
- 局域网传输文件_【电脑篇】巧借局域网,告别第三方工具便捷实现电脑间的文件传输...
- linux中swi指令,Arm Linux系统调用流程详细解析SWI
- 后台控制游戏开关_今天购买这些开关游戏