oracle添加各种约束条件

--非空约束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_表名_列名

  

时间: 2024-10-10 04:03:34

oracle添加各种约束条件的相关文章

oracle 添加序号

select rownum from table oracle 添加序号

oracle添加用户并给予管理员身份登陆

sqlplus / as sysdba;--超级管理员sys登陆 show user;--显示当前用户 conn system/admin;--切换用户 CREATE user admin identified by admin;--创建用户admin,密码admin alter user admin account unlock;--解锁 grant create session to admin; --给予管理员权限 切换用户 oracle添加用户并给予管理员身份登陆 原文地址:https:

oracle添加控制文件,ORA-00214: 错误

今天学习oracle添加控制文件,控制文件是一个二进制文件,记录了物理数据库的当前状态,每一个数据文件只属于一个数据库,为了防止文件损坏丢失等情况,一个数据库不止一个控制文件.一个数据库的控制文件中的内容完全一样. 利用数据字典v$controlfile查询数据文件的位置.名字: select name from v$controlfile; 结果: NAME --------------------------------------------------------------------

转载:oracle添加约束禁用延迟

添加NOT NULL约束 alter table tb_name modity column_name constraint nt_name not null; 需要注意的是,添加NOT NULL约束并不使得add constraint语句,而是使用modify. 添加FOREIGN KEY约束 alter table tb_name1 add constraint fk_name foreign key (column_name1) references tb_name2(column_nam

Oracle 添加冗余控制文件 for RAC On Linux

添加冗余控制文件自然是为数据库的安全增加一层保障,毕竟单链路控制文件还是稍微有点危险的,毕竟是库文件的枢纽.废话不多说,进入今天的主题,for RAC 自然也可以 for 单机,若有此方面需求楼主后期会更进发布的. ============================== 萌哒萌哒的分割线=============================== 注:添加冗余控制文件期间需要有关库操作,需注意!!! 备份控制文件SQL> alter session set tracefile_ident

mybatis+oracle添加一条数据并返回所添加数据的主键问题

最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public @ResponseBody OnlineAddplanWithBLOBs insertOnlineAddplan(OnlineAddplanWithBLOBs plan) throws Exception{ //plan是添加的数据,planid为数据主键,此时对象中主键为null int n = serv

Oracle 添加 scott 示例用户

学习SQL有一段时间了,但是也忘记的差不多了,今天有赶紧复习复习,然后发现一个问题,为啥之前看的视频教程,马士兵用的Oracle有scott用户和那些表格,而我的没有?难道是Oracle取消了?然后百度了才知道,最新的Oracle需要自己添加这些表格. 获取soctt.sql文件 百度的结果呢,有2个: 人家共享出来的soctt.sql文件,很多的博客上面都有 自己Oracle下寻找 我在我的Oracle下搜索了一下,找到了, 运行脚本文件,添加数据进数据库 用之前的SQL Developer在

Oracle添加数据文件创建表空间,创建用户代码

1,添加数据文件创建表空间 1 CREATE TABLESPACE "TEST1" DATAFILE 'D:\ORACLE\11G\ORADATA\ORCL\TEST1.DBF' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 部署时需要根据需要改动部分: TABLESPACE(表空间)后的表空间名TEST1

AIX给oracle添加裸设备数据文件

平台:AIX 5.3 单机 存在一个空闲磁盘hdisk1 总体思路:物理卷PV->卷组VG->逻辑卷LV(类型:raw)->添加表空间 1.查看所有可用卷组 # lsvg -o rootvg 2.创建ORACLE的卷组datavg # smitty lvm Volume Groups Add a Volume Group Add an Original Volume Group [Entry Fields] VOLUME GROUP name