- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 添加约束(续) 上面的例子为EMP表创建了一个外键FOREIGN KEY约束,这个约束明确指定管理员必须是EMP表中有效的雇员。 ALTER TABLE emp ADD CONSTRAINT emp_mgr_fk FOREIGN KEY(mgr) REFERENCES emp(empno); * 删除约束 要删除约束,您可以从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数据字典视图中查询出与约束相关的列,这个视图尤其对采用系统命名的约束特别有用。 SELECT constraint_name, column_name FROM user_cons_columns WHERE table_name = EMP; * * * * * 数据类型 NUMBER [(精度, 标度)](数字族) 指定精度时小数点不
文档评论(0)