- 浏览: 581397 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zhanghao1785:
jQuery jqGrid中ColModel的参数大全 -
haiyangyiba:
在实际应用中,回车提交一般需要注意的是,多次回车之间的间隔,换 ...
回车自动提交 -
fengkuangxiao6:
快捷键能写的这么详细,太棒了!
Eclipse中10个最有用的快捷键组合 -
Frank_Sun:
我的jdk版本是1.6.0.29,在finally中加retu ...
try catch finally与return的执行顺序 -
jueyue:
这个注解可以搞吗,感觉还不如放在前台
struts2校验(二):声明式验证(基于xml配置验证)(1)
约束简介
约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符
合约束,那么DML操作(INSERT、UPDATE、DELETE)将不能成功执行。约束包括NOT NULL、UNIQUE、PRIMARY KEY、FOREING KEY 以及CHECK等五种类型
<DDL 数据定义语言的英文缩写 create drop alter等语句
DML 数据操作语言的英文缩写 insert update delete 等语句即查找、修改、新增、删除数据的就是DML>
字段设计为如下的条件类型之一:
可以使用 UNIQUE 保留字将字段设计为唯一键。这意味着在同一个表中没有两个记录的这个字段的值是相同的。可以强制任何字段或字段列表为唯一的。如果多重字段条件被设计成唯一键,在索引之中的所有字段的组合值必须也是唯一的,即使在这些字段之中有两个或两个以上的记录有相同的值。
可以用 PRIMARY KEY 保留字,将表中的字段或一组字段设计为主键。在主键之中所有的值必须是唯一的,且不可为 Null,一个表只能有一个主键。
定义约束
列级约束:
column [CONSTRAINT constraint_name] constraint_type
表级约束:
column ,...,
[CONSTRAINT constraint_name] constraint_type (column,...)
1.定义NOT NULL约束
NOT NULL 约束只能在列级定义,不能在表级定义
例:
CREATE TABLE emp01(
eno INT NOT NULL,
name VARCHAR2(10) CONSTRAINT nn_name2 NOT NULL,
salary NUMBER(6,2)
);
上例中,eno列与name列上定义了NOT NULL约束,其中eno列的NOT NULL约束没有指定约束名,而
name列则指定了约束名nn_name。
可以通过查询user_constraints字典来查看所定义的约束,如:
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP01';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010618 C
NN_NAME C
可见,没有给约束名的,系统将会自动的定义一个约束名称,其中约束类型中,P:表示主键,R:
表示外键,C表示NOT NULL或CHECK,U表示UNIQUE。且系统中同一方案下的的约束名不能重复
2.定义UNIQUE约束
定义了惟一约束之后,惟一约束列的列值不能重复,但可以为NULL。UNIQUE约束既可以在列级
定义,也可以在表级定义
例:
CREATE TABLE emp02(
eno INT UNIQUE,name VARCHAR2(10) CONSTRAINT u_name UNIQUE,
salary NUMBER(6,2)
);
同样,如果没有给出约束名,系统会自动定义一个名称,可从查询结果得出
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP02';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010623 U
U_NAME
U
3.定义PRIMARY KEY 约束
当定义主键约束后,主键约束列的列值不仅不能重复,而且也不能为NULL。主键约束既可以在
列级定义,也可以在表级定义。一张表最多只能具有一个主键约束,当一个表中的多个列都要为
主键是,可以在表级定义。
例1:列级定义主键
CREATE TABLE depto04(
dno INT PRIMARY KEY,
dname VARCHAR2(10),loc VARCHAR2(20)
);
通过查询user_constraints可得出
SQL> select constraint_name ,constraint_type from user_constraints
2 where table_name='DEPT04';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010625 P
通过查询user_cons_columns可得出
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='DEPT04';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ ------------
SYS_C0010625 DNO
例2:表级定义主键
CREATE TABLE dept05(
dno INT,
dname VARCHAR2(10),loc VARCHAR2(20),
PRIMARY KEY(dno,dname)
);
通过查询user_constraints可以得出
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='DEPT05';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010626 P
通过查询user_cons_columns可得出
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='DEPT05';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -------------
SYS_C0010626 DNO
SYS_C0010626 DNAME
可见,当在表级定义时,约束名称将会相同,而在user_cons_columns查询是,每一列将对应约束
名称相同的两条记录
4.定义FOREING KEY约束
当定义了外部键约束之后,要求外部键列的数据必须在主表的主键列(或惟一列)中存在,或
者为NULL,FOREING KEY约束既可以在列级定义,也可以在表级定义。
关键字说明:
FOREING KEY:该选项用于指定在表级定义外部键约束。当在表级定义外部键约束时必须指定该选
项,在列级定义外部键约束不需要指定该选项
REFERENCES:该选项用于指定主表名及其主键列。当定义外部键约束时,该选项必须指定。
ON DELETE CASCAED:该选项用于指定级联删除选项。如果在定义外部键约束时指定了该选项,那
么当删除主表数据时会级联删除从表的相关数据。
ON DELECT SET NULL:该选项用于指定转换相关的外部键值为NULL,如果在定义外部键约束时指定
了该选项,那么当删除主表数据时会将从表外部键列的数据设置为NULL。
例1:列级定义外键约束
CREATE TABLE emp04(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT CONSTRAINT fk_dno REFERENCES dept04(dno)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP04';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
FK_DNO R
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP04';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
FK_DNO DNO
例2:表级定义外键约束
CREATE TABLE emp05(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT,
CONSTRAINT fk_dno_name FOREIGN KEY(dno,name) REFERENCES dept05(dno,dname)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP05'
3 ;
CONSTRAINT_NAME CO
------------------------------------------------------------ --
FK_DNO_NAME R
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP05';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
FK_DNO_NAME DNO
FK_DNO_NAME NAME
5.定义CHECK约束
CHECK约束既可以在列级定义,也可以在表级定义。CHECK约束允许列为NULL。
例:
CREATE TABLE emp06(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
CHECK (salary BETWEEN 1000 AND 5000)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP06';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010629 C
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP06';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
SYS_C0010629 SALARY
6.定义复合约束
复合约束即在表级定义,基于多列的复合约束,如:
CREATE TABLE dept05(
dno INT,
dname VARCHAR2(10),loc VARCHAR2(20),
PRIMARY KEY(dno,dname)
);或
CREATE TABLE emp05(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT,
CONSTRAINT fk_dno_name FOREIGN KEY(dno,name) REFERENCES dept05(dno,dname)
);
9.3维护约束
9.3.1增加约束
如果增加UNIQUE、PRIMARY KEY、FOREIGN KEY 和CKECK 必须使用ALTER TABLE语句的ADD子句;
如果增加NOT NULL约束,那么必须使用ALTER TABLE语句的MODIFY子句,如:
ALTER TABLE table_name ADD [CONSTRAINT constraint_name]
constraint_type (column,...)
ALTER TABLE table_name MODIFY column
[CONSTRAINT constraint_name] NOT NULL;
9.3.2修改约束名
在同一个方案中,约束名必须惟一,并且约束名也不能与其他对象同名。当鱫IMPDP工具或者IMP
工具导入其他对象时,如发现有同名的对象,将会出错
语法:
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name
TO new_constraint_name;
例:
ALTER TABLE emp01 RENAME CONSTRAINT SYS_C005028
TO ck_emp01_salary;
9.3.3 删除约束
当删除特定表的主键约束时,如果该表具有相关的从表,那么在删除主键约束
时必须带有CASCAED选项
语法:
ALTER TABLE table_name DROP
CONSTRAINT constraint_name |PRIMARY KEY
例1
ALTER TABLE emp01 DROP CONSTRAINT ck_emp01_salary;
例2
ALTER TABLE dept01 DROP PRIMARY KEY CASCAED
9.3.4禁止约束
禁止约束指使约束临时失效。当禁止了约束之后,约束规则将不再生效。在使用SQL*LOADER或
INSERT装载数据之前,为了加快数据装载速度,应该首先禁止约束,然后装载数据。
语法:
ALTER TABLE table_name
DISABLE CONSTRAINT constaint_name [CASCAED];--CASCAED用于指定级联禁止从表的外部键
约束
例:
ALTER TABLE emp05 DISABLE CONSTAINT SYS_C00502;
9.3.5 激活约束
语法:
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
例:
ALTER TABLE emp05 ENABLE CONSTRAINT SYS_C005022;
9.4 显示约束信息
1.USER_CONSTRAINTS
2.USER_CONS_COLUMNS
示例:
create table documentsHasOrg
(
documentId NUMBER(10) not null,
organizationId NUMBER(10) not null,
signState NUMBER(2) default 0 not null,
signDate DATE,
signer VARCHAR2(150),
constraint fkdocumentsHasOrg foreign key (documentId)
references documents (id),
constraint fkdocumentsHasOrgs foreign key (organizationId)
references organizations (id)
);
-- Add comments to the table
comment on table documentsHasOrg
is '公文和部门的关联表';
comment on column documentsHasOrg.documentId
is '公文id';
comment on column documentsHasOrg.organizationId
is '部门id';
comment on column documentsHasOrg.signState
is '签收状态';
comment on column documentsHasOrg.signDate
is '签收日期';
comment on column documentsHasOrg.signer
is '签收人';
注意:1.约束名不能重复,否则出错。
2.foreign key 只有建立外键,才能把主表和从表关联起来,才可以从从表中查询数据。
约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符
合约束,那么DML操作(INSERT、UPDATE、DELETE)将不能成功执行。约束包括NOT NULL、UNIQUE、PRIMARY KEY、FOREING KEY 以及CHECK等五种类型
<DDL 数据定义语言的英文缩写 create drop alter等语句
DML 数据操作语言的英文缩写 insert update delete 等语句即查找、修改、新增、删除数据的就是DML>
字段设计为如下的条件类型之一:
可以使用 UNIQUE 保留字将字段设计为唯一键。这意味着在同一个表中没有两个记录的这个字段的值是相同的。可以强制任何字段或字段列表为唯一的。如果多重字段条件被设计成唯一键,在索引之中的所有字段的组合值必须也是唯一的,即使在这些字段之中有两个或两个以上的记录有相同的值。
可以用 PRIMARY KEY 保留字,将表中的字段或一组字段设计为主键。在主键之中所有的值必须是唯一的,且不可为 Null,一个表只能有一个主键。
定义约束
列级约束:
column [CONSTRAINT constraint_name] constraint_type
表级约束:
column ,...,
[CONSTRAINT constraint_name] constraint_type (column,...)
1.定义NOT NULL约束
NOT NULL 约束只能在列级定义,不能在表级定义
例:
CREATE TABLE emp01(
eno INT NOT NULL,
name VARCHAR2(10) CONSTRAINT nn_name2 NOT NULL,
salary NUMBER(6,2)
);
上例中,eno列与name列上定义了NOT NULL约束,其中eno列的NOT NULL约束没有指定约束名,而
name列则指定了约束名nn_name。
可以通过查询user_constraints字典来查看所定义的约束,如:
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP01';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010618 C
NN_NAME C
可见,没有给约束名的,系统将会自动的定义一个约束名称,其中约束类型中,P:表示主键,R:
表示外键,C表示NOT NULL或CHECK,U表示UNIQUE。且系统中同一方案下的的约束名不能重复
2.定义UNIQUE约束
定义了惟一约束之后,惟一约束列的列值不能重复,但可以为NULL。UNIQUE约束既可以在列级
定义,也可以在表级定义
例:
CREATE TABLE emp02(
eno INT UNIQUE,name VARCHAR2(10) CONSTRAINT u_name UNIQUE,
salary NUMBER(6,2)
);
同样,如果没有给出约束名,系统会自动定义一个名称,可从查询结果得出
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP02';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010623 U
U_NAME
U
3.定义PRIMARY KEY 约束
当定义主键约束后,主键约束列的列值不仅不能重复,而且也不能为NULL。主键约束既可以在
列级定义,也可以在表级定义。一张表最多只能具有一个主键约束,当一个表中的多个列都要为
主键是,可以在表级定义。
例1:列级定义主键
CREATE TABLE depto04(
dno INT PRIMARY KEY,
dname VARCHAR2(10),loc VARCHAR2(20)
);
通过查询user_constraints可得出
SQL> select constraint_name ,constraint_type from user_constraints
2 where table_name='DEPT04';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010625 P
通过查询user_cons_columns可得出
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='DEPT04';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ ------------
SYS_C0010625 DNO
例2:表级定义主键
CREATE TABLE dept05(
dno INT,
dname VARCHAR2(10),loc VARCHAR2(20),
PRIMARY KEY(dno,dname)
);
通过查询user_constraints可以得出
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='DEPT05';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010626 P
通过查询user_cons_columns可得出
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='DEPT05';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -------------
SYS_C0010626 DNO
SYS_C0010626 DNAME
可见,当在表级定义时,约束名称将会相同,而在user_cons_columns查询是,每一列将对应约束
名称相同的两条记录
4.定义FOREING KEY约束
当定义了外部键约束之后,要求外部键列的数据必须在主表的主键列(或惟一列)中存在,或
者为NULL,FOREING KEY约束既可以在列级定义,也可以在表级定义。
关键字说明:
FOREING KEY:该选项用于指定在表级定义外部键约束。当在表级定义外部键约束时必须指定该选
项,在列级定义外部键约束不需要指定该选项
REFERENCES:该选项用于指定主表名及其主键列。当定义外部键约束时,该选项必须指定。
ON DELETE CASCAED:该选项用于指定级联删除选项。如果在定义外部键约束时指定了该选项,那
么当删除主表数据时会级联删除从表的相关数据。
ON DELECT SET NULL:该选项用于指定转换相关的外部键值为NULL,如果在定义外部键约束时指定
了该选项,那么当删除主表数据时会将从表外部键列的数据设置为NULL。
例1:列级定义外键约束
CREATE TABLE emp04(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT CONSTRAINT fk_dno REFERENCES dept04(dno)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP04';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
FK_DNO R
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP04';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
FK_DNO DNO
例2:表级定义外键约束
CREATE TABLE emp05(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT,
CONSTRAINT fk_dno_name FOREIGN KEY(dno,name) REFERENCES dept05(dno,dname)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP05'
3 ;
CONSTRAINT_NAME CO
------------------------------------------------------------ --
FK_DNO_NAME R
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP05';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
FK_DNO_NAME DNO
FK_DNO_NAME NAME
5.定义CHECK约束
CHECK约束既可以在列级定义,也可以在表级定义。CHECK约束允许列为NULL。
例:
CREATE TABLE emp06(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
CHECK (salary BETWEEN 1000 AND 5000)
);
SQL> select constraint_name,constraint_type from user_constraints
2 where table_name='EMP06';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
SYS_C0010629 C
SQL> select constraint_name,column_name from user_cons_columns
2 where table_name='EMP06';
CONSTRAINT_NAME COLUMN_NAME
------------------------------------------------------------ -----------
SYS_C0010629 SALARY
6.定义复合约束
复合约束即在表级定义,基于多列的复合约束,如:
CREATE TABLE dept05(
dno INT,
dname VARCHAR2(10),loc VARCHAR2(20),
PRIMARY KEY(dno,dname)
);或
CREATE TABLE emp05(
eno INT,name VARCHAR2(10),salary NUMBER(6,2),
dno INT,
CONSTRAINT fk_dno_name FOREIGN KEY(dno,name) REFERENCES dept05(dno,dname)
);
9.3维护约束
9.3.1增加约束
如果增加UNIQUE、PRIMARY KEY、FOREIGN KEY 和CKECK 必须使用ALTER TABLE语句的ADD子句;
如果增加NOT NULL约束,那么必须使用ALTER TABLE语句的MODIFY子句,如:
ALTER TABLE table_name ADD [CONSTRAINT constraint_name]
constraint_type (column,...)
ALTER TABLE table_name MODIFY column
[CONSTRAINT constraint_name] NOT NULL;
9.3.2修改约束名
在同一个方案中,约束名必须惟一,并且约束名也不能与其他对象同名。当鱫IMPDP工具或者IMP
工具导入其他对象时,如发现有同名的对象,将会出错
语法:
ALTER TABLE table_name RENAME CONSTRAINT old_constraint_name
TO new_constraint_name;
例:
ALTER TABLE emp01 RENAME CONSTRAINT SYS_C005028
TO ck_emp01_salary;
9.3.3 删除约束
当删除特定表的主键约束时,如果该表具有相关的从表,那么在删除主键约束
时必须带有CASCAED选项
语法:
ALTER TABLE table_name DROP
CONSTRAINT constraint_name |PRIMARY KEY
例1
ALTER TABLE emp01 DROP CONSTRAINT ck_emp01_salary;
例2
ALTER TABLE dept01 DROP PRIMARY KEY CASCAED
9.3.4禁止约束
禁止约束指使约束临时失效。当禁止了约束之后,约束规则将不再生效。在使用SQL*LOADER或
INSERT装载数据之前,为了加快数据装载速度,应该首先禁止约束,然后装载数据。
语法:
ALTER TABLE table_name
DISABLE CONSTRAINT constaint_name [CASCAED];--CASCAED用于指定级联禁止从表的外部键
约束
例:
ALTER TABLE emp05 DISABLE CONSTAINT SYS_C00502;
9.3.5 激活约束
语法:
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
例:
ALTER TABLE emp05 ENABLE CONSTRAINT SYS_C005022;
9.4 显示约束信息
1.USER_CONSTRAINTS
2.USER_CONS_COLUMNS
示例:
create table documentsHasOrg
(
documentId NUMBER(10) not null,
organizationId NUMBER(10) not null,
signState NUMBER(2) default 0 not null,
signDate DATE,
signer VARCHAR2(150),
constraint fkdocumentsHasOrg foreign key (documentId)
references documents (id),
constraint fkdocumentsHasOrgs foreign key (organizationId)
references organizations (id)
);
-- Add comments to the table
comment on table documentsHasOrg
is '公文和部门的关联表';
comment on column documentsHasOrg.documentId
is '公文id';
comment on column documentsHasOrg.organizationId
is '部门id';
comment on column documentsHasOrg.signState
is '签收状态';
comment on column documentsHasOrg.signDate
is '签收日期';
comment on column documentsHasOrg.signer
is '签收人';
注意:1.约束名不能重复,否则出错。
2.foreign key 只有建立外键,才能把主表和从表关联起来,才可以从从表中查询数据。
发表评论
-
数据库锁表的分析与解决( 不太懂)
2014-10-24 10:46 0数据库锁表的分析与解决 2013-03-19 07:59:43 ... -
查询条件是某个时间段
2014-06-24 11:40 1011查询4月份的数据 select count(*) f ... -
oracle 时间段查询语句
2014-02-19 15:16 0public List<TpuYwrz> qu ... -
oracle 时间段查询语句
2014-02-19 15:16 0public List<TpuYwrz> qu ... -
oracle case when then end 的用法
2014-02-17 17:13 1--2 WEBADMIN.T_HISPIC 建档资料信息表 ... -
Coalesce用法
2013-12-19 11:44 856select Coalesce( '居住建筑->' | ... -
listagg
2013-12-19 10:47 952wm_concat和listagg都可以把列拼接成行,11g下 ... -
oracle关键字
2013-07-29 18:10 883oracle 关键字 level 不能作为一个属性列。 -
drop/truncate/delete 的异同点
2013-07-03 22:10 8801.truncate和 delete只删除数据不删除表的结构( ... -
oracle-视图view
2013-07-03 21:49 947视图 定义:虚拟表,与表不同,视图不会要求分配存储空间,视图 ... -
sql触发器
2013-07-03 11:57 54触发器是一种特殊类型的存储过程,触发器主要是通过事件进行触发 ... -
sql方法function
2013-07-03 11:56 52--定义方法 create or replace func ... -
存储过程
2013-07-02 21:31 43存储过程 定义:存储过程(Stored Procedure ... -
Oracle中游标Cursor介绍
2013-07-02 13:25 939概念 类型 异常处理 一 概念 cursor ... -
sql 优化
2013-07-03 22:16 61一、优化数据库的思想 ... -
oracle 字段类型为clob时insert,update语句
2013-01-15 16:47 5511INSERT INTO documents(id, conte ... -
ORA-00932: 不一致的数据类型: 要求 - 得到的却是 BLOB
2013-01-15 16:01 2361执行如下sql会报错: ORA-00932: 不一致的数据类 ... -
Oracle sql注意事项
2013-01-11 14:40 1099//实体类 Document.java privat ... -
oracle导入导出的sql语句
2012-10-31 15:50 1200expdp '/ as sysdba' directory= ... -
缓存
2012-10-08 15:45 1209简介:缓存可以简单的看成一个Map,通过key在缓存里面找v ...
相关推荐
NULL 博文链接:https://mxm910821.iteye.com/blog/1470589
自己看视频做的笔记,以后再更新,虽然内容很少,但是一看就懂。我也是菜鸟,所以笔记都是菜鸟笔记
了解Oracle数据字典 ODBC 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识库。Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和DBA用它来查阅数据库信息。数据字典是只读的,终端用户...
NULL 博文链接:https://snowelf.iteye.com/blog/494061
Oracle的Constraint约束,供初学者参考;
NULL 博文链接:https://mlxnle.iteye.com/blog/1490247
Oracle Configurator Constraint Definition Language Guide Release 11i
主要给大家介绍了关于sql脚本导入Oracle时重复生成check约束的问题解决方法,文中给出了详细的检查步骤,对大家理解和解决这个问题具有很好的帮助,需要的朋友们下面来一起看看吧。
Oracle数据库Constraint约束的常用操作及异常处理[归类].pdf
Oracle数据库constraint约束
1 1 、 e oracle 数据库有 5 5 种约束: :y primary n key,foreign key,unique,...3 3 、 在定义约束时, , 可以通过关键字 t constraint 为约束命名, , 如果没有指定 , , e oracle 就为约束建立默认的名称。
表是Oracle中最重要的数据库对象,表存储一些相似的数据集合,这些数据描述成若干列或字段.create table 语句的基本形式用来在数据库中创建容纳数据行的表.create table 语句的简单形式接收表名,列名,列数据类型和大小...
ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...
oracle 1 基本对象 表(Table)和 视图(View) 索引(Index)和 约束(Constraint) 函数(Function) 过程(Procedure) 其他(同义词,序列,簇,job,等)
Oracle PL/SQL语言初级教程 1 目录 1 1.PL/SQL语言基础 3 过程 5 包(package) 6 变量和常量 6 执行部分 10 控制结构 12 小结 17 2.PL/SQL的复合数据类型 17 使用记录 19 PL/SQL集合 23 嵌套表 24 使用集合 25 集合的...
Oracle 最常用的命令 1.登陆系统用户 :sqlplus 然后输入系统用户名和密码 登陆别的用户 : conn 用户名/密码; 2.创建表空间 create tablespace 空间名 datafile 'c:\空间名' size 15M --表空间的存放路径,...
(id number(4) PRIMARY KEY CONSTRAINT id_nn NOT NULL,act_name VARCHAR2(50),act_award_number number(4),act_info VARCHAR2(50), act_data date); 插入表的记录: insert into db_action values(testaction....
在表employees中插入记录(‘70’,‘999’)department_id为‘999’时,department表中还不存在department_id为‘999’的记录,所以违背了参照完整性约束,出现“Integrity constraint violation error”提示信息。...
Oracle 九阴真经,CREATE TABLE ( column1 DATATYPE [NOT NULL] [PRIMARY KEY], column2 DATATYPE [NOT NULL], ... [constraint <约束名> 约束类型 (要约束的字段)