易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle约束

1.约束
作用:
约束用于确保数据库数据的完整性,在oracle数据库中,可以使用约束,触发器和应用代码(过程,函数)3种方法实现数据完整性,这3种方法中,因为约束易于维护,并且具有最好的性能,所以实现数据完整性首选约束.
分类:
约束的种类有:not null,unique,primary key,foreign key,check
Not null确保字段值不能为空
Unique:确保字段值唯一性
Primary key,最常用的约束(主键约束),主键约束的列值不仅不能重复,也不能为NULL,注意一张表最多只能有一个主键约束,当定义主键约束后oracle自动建立一个以主键为关键字段的索引。
Foreign key:定义了主从表之间的关系,foreign要定义在从表上,但主表必须具有主键约束或唯一约束,当定义froeign key后外部键列的数据必须在主表的主键列中存在,或者为NULL
Check::用于强制表行数据必须满足的条件,如工资表,工人工资必须在2000-5000之间
约束状态
enable validate:是默认,新旧数据同时满足约束规则
enable novalidate:旧数据可以不满足,检新插入的数据要满足约束
disable validate:不允许在表上执行任何DML操作,主要用在分区表,对于主键和唯一约事,会删除相应的唯一索引,但约束状态任可用
disable novalidate数据可不满足约束规则,对于主键和唯一约事,会删除相应的唯一索引,
约束常用语句
create table t(i number,v mubmer not null)
create table t(i number,v mubmer unique)
create table t(i number constraint pk_i primary key,v number)
create table t2(c number,d number,constraint fk_d foreign key(c),references t1(v));
alter table t add constraint pk_i primary key (i)
alter table t modify i not null;
alter table t add constraint t_i unique(i)[(create index ind_name on t(i))];
alter table t add constraint t_i check(i in (1,2,3,4,5));
alter table t disable novalidate constraint i
alter table t enable novalidate constraint check_i
alter table t drop constraint i;
alter table t drop primary key i;
#常用的数据字典
dba_constraints
dba_cons_columns
user_cons_columns
user_constraints
简单应用
检验当为一个表建立主键索时后,这个字段是否满足约束非空,唯一性,而且自动建立一个索引,并查看当把约束状态关闭再次插入相同的记录,是否还能把把约束设为enable ividate状态。
SQL> create table t(i number c


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Tomcat4.0与Oracle怎么建立连接池?建好后怎么测试?


  
 
  
   
Tomcat4.0与Oracle怎么建立连接池?建好后怎么测试?
作者:dorawo    2003年11月07日 10:01    进入论坛  
 
相关讨论:oracle 连接池weblogic建立连接池连接池tomcat 连接池java 连接池hibernate 连接池mys ......

Oracle 9i/10g 默认的用户和密码

sys/change_on_install
system/manager
sysman/oem_temp
scott/tiger
aqadm /aqadm
Dbsnmp/dbsnmp
用户名 口令 登录身份及说明
sys/change_on_install SYSDBA或SYSOPER,但不能以NORMAL登录,可作为默认的系统管理员。
system/Manager SYSDBA或NORMAL,但不能以SYSOPER登录,可作为默认的系统管理员。
scott/Tig ......

【转】oracle行转列通用过程

oracle行转列通用过程(转)
环境oracle 10g
工作关系,常做些行转列报表,报表通常不是在大数据集合上处理.
所以写了个过程.
本过程比较适合在于需要动态输出报表的地方,例如web中.
不是很完美,但已经可以解决绝大部分的问题.
create or replace function func_RowToCol(
viewName Varchar2,
grpCols Varchar2,
colC ......

深入浅出oracle锁 原理篇 & 停止无反应的sql会话

在现代的多用户多任务系统中,必然会出现多个用户同时访问共享的某个对象,这个对象可能是表,行,或者内存结构,为了解决多个用户并发性访问带来的数据的安全性,完整性及一致性问题,必须要有一种机制,来使对这些共享资源的并发性访问串行化,oracle中的锁就可以提供这样的功能,当事务在对某个对象进行操作前,先向系统 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号