Oracle 约束类型
在Oracle中的约束类型:
NOT NULL
UNIQUE Key
PRIMARY KEY
FOREIGN KEY
CHECK
create table emp--创建表格 ,注意约束
(
empno number(4) primary key,--主键约束
ename varchar2(11) not NULL,--非空约束
job1 varchar2(9),
mgr number(2) references dept(deptno),
hiredage date default sysdate,
sal number(10,2) check(sal > 500),--check约束
comm number(9,0) default null
)
alter table emp-- 删除表的列
drop column comm
cascade constraints checkpoint 1000;--约束删除
定义约束
主码或主键约束可以定义在列或表上( PRIMARY KEY )
CREATE TABLE dept(
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13),
CONSTRAINT dept_dname_uk UNIQUE (dname),定义约束
CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));定义约束
create table dept
(
deptno number(2),
dname varchar2(14),
location varchar2(14),
CONSTRAINT dept_dname_uk UNIQUE(dname));-- 唯一约束
)
定义外键约束
CREATE TABLE emp(
empno NUMBER(4),
ename VARCHAR2(10) NOT NULL,
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(7,2) NOT NULL,(reference dept(deptno) )//括号中也声明其引用外键
CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)
REFERENCES dept (deptno));
CHECK约束:定义表的每一行必须满足的条件(上面有check约束的例子)
CHECK表达是不允许:
引用伪列 CURRVAL, NEXTVAL, LEVEL, 和ROWNUM
调用SYSDATE, UID, USER,和USERENV函数
参照其它行的查询结果
增加约束(可以增加或删除约束但是不能修改约束)
ALTER TABLE emp
ADD CONSTRAINT emp_mgr_fk(约束名)
FOREIGN KEY(mgr) REFERENCES emp(empno);
...................................................................
ALTER TABLE emp//删除约束
DROP CONSTRAINT emp_mgr_fk;
...................................................................
ALTER TABLE dept//删除在表DEPT上的PRIMARY KEY约束并且删除在表EMP的DEPTNO列上的 FOREIGN KEY约束。
DROP PRIMARY KEY CASCADE;
创建和管理约束:约束使能或使不能
ALTER TABLE emp
ENABLE CONSTRAINT emp_empno_pk;
ALTER TABLE emp
DISABLE CONSTRAINT emp_empno_pk CASCADE;
查看约束
查询表USER_CONSTRAINTS可以察看所有的约束和名称
SELECT constraint_name, constraint_type,
2 search_condition
3 FROM user_constraints
4 WHERE table_name = 'EMP';
Oracle 约束类型的更多相关文章
- [Oracle]约束(constraint)
(一)约束的概念 在Oracle中,可以通过设置约束来防止无效数据进入表中.Oracle一共有5种约束: 主键约束(primary key) 外键约束(foreign key) 唯一性约束(uniqu ...
- ORACLE约束总结
你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...
- 【Oracle】Oracle约束的总结
你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了.ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本 ...
- 转 ORACLE约束总结
https://www.cnblogs.com/kerrycode/archive/2012/05/13/2454614.html 你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几 ...
- oracle字段类型
oracle 字段类型CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 byt ...
- Oracle 日期类型timestamp(时间戳)和date类型使用
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结
前 言 OOP 学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1 PHP中的抽象 ...
- java Hibernate 处理 oracle xmltype类型
网上关于如何处理oracle xmltype类型的博客很多,我现在分享的是针对具体业务来的,我在oracle数据库entity表中detail插入了一条xmltype类型的数据 xml的详细内容如下: ...
- oracle有三种类型的异常错误: 预定义 ( Predefined )错误里面的常见错误
oracle有三种类型的异常错误: 预定义 ( Predefined )错误, 非预定义 ( Predefined )错误, 用户定义(User_define) 错误 预定义 ( Predefined ...
随机推荐
- 【Oracle 函数索引】一次数据库的优化过程
[问题]表里数据2万条,查询执行时间 818087.38 ms(12分钟). SQL语句如下:select F1,F2,F3,F4 from t_sms_g_send t left joi ...
- 把我的Java项目部署到Linux系统
以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点 ...
- windows 下使用免安裝版MySql5.5
windows 下使用面安裝版MySql5.5步驟如下 1.解壓下載的壓縮文件到指定文件夾.如:F:\DB\mysql-5.5.18-win32\mysql-5.5.18-win32: 2.在根目錄F ...
- java(2014)实现对mysql数据库分页的代码
package util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultS ...
- 通过点击取消按钮关闭dialog窗口
- ps:探索按钮按起落下的技巧
(从死了一次又一次终于挂掉的百度空间中抢救出来的,发表日期 2014-07-10) 先上图: 那个看上去想按下去的,那个看上去像自然地呢? 显而易见: 第一像按下去的,第二个像自然地. 原因: 渐变: ...
- 局部化原理(Laplace渐进估计方法)
设$f(x)$于$[0,1]$上严格单调递减,且$f(0)=1,f(1)=0$,证明: $$\int_{0}^{1}f^{n}(x)dx \sim \int_{0}^{\delta}f^{n}(x), ...
- GitHub-更新数据
1.查看代码的修改 git status //modified 标示修改的文件 //deleted标示删除的文件 // untracked files 未处理的文件 需要执行 git add方法添加上 ...
- 跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域.跨域两种情况. 由于客户端js使用浏览器的同源安全策 ...
- sqldependency 支持的select
https://msdn.microsoft.com/library/ms181122.aspx 支持的 SELECT 语句 满足下列要求的 SELECT 语句支持查询通知: 必须显式说明 SEL ...