文档详情

Oracle数据定义语言.PPT

发布:2017-04-02约3.7万字共53页下载文档
文本预览下载声明
* 添加约束(续) 上面的例子为EMP表创建了一个外键FOREIGN KEY约束,这个约束明确指定管理员必须是EMP表中有效的雇员。 * 删除约束 要删除约束,您可以从USER_CONSTRAINTS和USER_CONS_COLUMNS数据字典表中查询出相关约束的名称。 然后在ALTER TABLE语句中使用 DROP 子句, CASCADE选项表示是否级联删除与该约束是从属关系的约束。 语法 ALTER TABLE table DROP PRIMARY KEY | UNIQUE (column) | CONSTRAINT constraint [CASCADE]; where: table 表名. column 约束所在的列. constraint 约束名. 当您删除一个完整性约束,该约束不再有效并且数据字典中也不存在了。 ALTER TABLE emp3 DROP CONSTRAINT emp_deptno_fk; ALTER TABLE EMP1 DROP PRIMARY KEY CASCADE; * 禁用约束 不用采用删除的方法只要在ALTER TABLE语句中使用 DISABLE子句便可禁用约束 语法 ALTER TABLE table DISABLE CONSTRAINT constraint [CASCADE]; where: table 表名. constraint 约束名. 指导: DISABLE子句可以应用于 CREATE TABLE及 ALTER TABLE语句 CASCADE选项可以使与该约束是从属关系的约束同时失效. 教师指导 在完整性约束上应用DISABLE后,Oracle服务器不再执行约束,如果要重新启用约束使用 ENABLE 子句。 ALTER TABLE aaa1 DISABLE CONSTRAINT aaa1_deptno_fk CASCADE; * 启用约束 您不用采用删除后再创建约束的方式,只要在ALTER TABLE语句中使用 ENABLE 子句便可重新启用约束。 语法: ALTER TABLE table ENABLE CONSTRAINT constraint; where: table 表名 constraint 约束名 指导: 如果起用一个约束,该约束会应用于表中所有记录,所有记录必须符合约束条件 如果您启用唯一UNIQUE或主键PRIMARY KEY约束,唯一 UNIQUE或主键 PRIMARY KEY索引便自动创建 ENABLE子句可以应用于 CREATE TABLE及 ALTER TABLE语句 ALTER TABLE AAA1 ENABLE CONSTRAINT AAA1_DEPTNO_FK; * 查询约束 创建表之后,您可以使用DESCRIBE命令来验证表是否创建成功,不过仅仅能验证NOT NULL约束,要查询所有约束需要对 USER_CONSTRAINTS 表进行检索。 上面的例子显示了DEPTMENT表中的所有约束。 注: 那些不是由表的所有者命名的约束采用的是系统自动分配的名称,C表示CHECK约束,P表示PRIMARY KEY约束,R表示引用完整性约束(外键约束),U表示UNIQUE约束。注意NULL约束实际上属于 CHECK约束。 SELECT constraint_name, constraint_type, search_condition FROM user_constraints WHERE table_name = DEPT; select table_name,constraint_name, constraint_type, search_condition FROM user_constraints where table_name=AAA1; * 查询约束(续) 您可以在USER_CONS_COLUMNS数据字典视图中查询出与约束相关的列,这个视图尤其对采用系统命名的约束特别有用。 * * * * * 数据类型 NUMBER [(精度, 标度)](数字族) 指定精度时小数点不计算在内 数据类型 说明 VARCHAR2(n) 可存放变长的字符串,长度为n字节;n最大可以到4,000字节。 NVARCHAR2(n) 可存放变长的Unicode字符串,长度为n字节;n最大可以到4,000字节。 CHAR(n) 可存放固定长度的字符串,长度为n字节;n最大可以到2,000字节。 NCHAR(n) 可存放固定长度的Unic
显示全部
相似文档