码迷,mamicode.com
首页 > 数据库 > 详细

oracle添加各种约束条件

时间:2017-09-07 13:44:41      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:div   to_date   identity   复合   def   学生   har   logs   ber   

--非空约束
ALTER TABLE studen MODIFY (studentname NOT NULL);
--唯一约束(身份证号)
ALTER TABLE student ADD CONSTRAINT UK_student_identityCard UNIQUE (identitycard); --默认约束(地址) ALTER TABLE student modify address DEFAULT ‘地址不详‘; --检查约束(出生日期在1980年1月1日之后) ALTER TABLE student ADD CONSTRAINT CK_student_borndate CHECK (borndate > TO_date(‘1980-01-01‘,‘yyyy-MM-dd‘) ); --外键约束(主表grade和从表student建立引用关系) ALTER TABLE student ADD CONSTRAINT FK_student_grade_GradeId FOREIGN KEY (gradeid) REFERENCES Grade (gradeid); --默认约束(examdate考试日期默认当前时间) ALTER TABLE RESULT modify examdate DEFAULT SYSDATE; --增加复合主键 ALTER TABLE result ADD CONSTRAINT PK_result primary key (studentno, subjectno,examdate); --删除约束
ALTER TABLE pet DROP CONSTRAINT UK_student_identityCard;
--学生表 CREATE TABLE student(
studentno NUMBER(11) NOT NULL PRIMARY KEY,
loginpwd NVARCHAR2(20) NOT NULL,
studentname NVARCHAR2(20),
gradeid NUMBER(11) NOT NULL,
sex NCHAR(2) NOT NULL,
phone NVARCHAR2(50) NOT NULL,
borndate DATE NOT NULL,
address NVARCHAR2(255) NOT NULL,
email NVARCHAR2(50) NOT NULL,
identitycard NVARCHAR2(18) NOT NULL );
--年级表 CREATE TABLE grade(
gradeid NUMBER(11) NOT NULL PRIMARY KEY,
gradename NVARCHAR2(20) NOT NULL );

--课程表 CREATE TABLE subject(
subjectno NUMBER(11) NOT NULL PRIMARY KEY,
subjectname NVARCHAR2(50) NOT NULL,
classhour NUMBER(4) NOT NULL,
gradeid NUMBER(11) NOT NULL );

--成绩表 CREATE TABLE RESULT(
studentno NUMBER(11) NOT NULL,
subjectno NUMBER(11) NOT NULL,
examdate DATE NOT NULL,
studentresult NUMBER(4) NOT NULL );
约束命名规范   
 非空约束     NN_表名_列名 
 唯一约束     UK_表名_列名
 主键约束     PK_表名
 外键约束     FK_表名_列名
 条件约束     CK_表名_列名
 默认约束     DF_表名_列名

  

 

oracle添加各种约束条件

标签:div   to_date   identity   复合   def   学生   har   logs   ber   

原文地址:http://www.cnblogs.com/z839802778/p/7489030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!