新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > Oracle教程 > 正文:Oracle中用表外键来保证系统参照完整性

Oracle中用表外键来保证系统参照完整性

新客网 XKER.COM 2008-01-28 来源:赛迪网 10361 收藏本文

 

二、生成删除系统自动命名的外键脚本

 

在 SQL/PLUS 下,运行下面的脚本来生成删除系统自动命名(也就是外键名称以 SYS 为前缀)的所有外键,和生成外键报告一样,将生成脚本 spool 到某个文件中。

 

脚本2 :删除系统自动生成的外键约束条件

 

SELECT 'ALTER TABLE ' || TABLE_NAME ||' '|| 

'DROP CONSTRAINT ' || CONSTRAINT_NAME || ' ;' 

FROM USER_CONSTRAINTS 

WHERE CONSTRAINT_NAME LIKE 'SYS%' AND 

CONSTRAINT_TYPE = 'R';

 

 

 

 

 

运行该脚本,系统生成如下所示的删除外键脚本:

 

ALTER TABLE DJ_NSRXX DROP CONSTRAINT SYS_C000231;

 

 

 

 

 

三、生成重新创建删除的外键脚本

 

在 SQL/PLUS 下,运行下面的脚本来生成重新创建删除的外键脚本:

 

脚本 3 :重新创建外键

 

SELECT 'ALTER TABLE ' || child.TABLE_NAME||' ' || 

'ADD CONSTRAINT ' || ' 外键名称 ' ||' '|| 

'FOREIGN KEY ' || '('|| cp.COLUMN_NAME || ')' || 

' '|| 'REFERENCES ' || parent.TABLE_NAME ||' '|| 

'('|| pc.COLUMN_NAME || ')'|| child.DELETE_RULE || ' ;' 

FROM USER_CONSTRAINTS child, 

USER_CONSTRAINTS parent, 

USER_CONS_COLUMNS cp, 

USER_CONS_COLUMNS pc 

WHERE child.CONSTRAINT_TYPE = 'R' AND 

child.R_OWNER = PARENT.OWNER AND 

child.R_CONSTRAINT_NAME = PARENT.CONSTRAINT_NAME AND 

child.CONSTRAINT_NAME = cp.CONSTRAINT_NAME AND 

parent.CONSTRAINT_NAME = pc.CONSTRAINT_NAME AND 

cp.POSITION = pc.POSITION AND 

child.CONSTRAINT_NAME LIKE 'SYS%' 

ORDER BY child.OWNER, 

child.TABLE_NAME, 

child.CONSTRAINT_NAME, 

cp.POSITION;

 

 

 

 

 

运行该脚本,系统生成如下所示的创建外键脚本:

 

ALTER TABLE DJ_NSRXX ADD CONSTRAINT 外键名称
 FOREIGN KEY (RYDM) REFERENCES DM_GY_SWRY(RYDM);

 

将上面的外键名称以上面介绍的规范命名规则命名的外键名称代替,就是:

 

ALTER TABLE DJ_NSRXX ADD CONSTRAINT FK_DJ_NSRXX_DM_GY_SWRY 
FOREIGN KEY (RYDM) REFERENCES DM_GY_SWRY(RYDM);

 

四、外键更名

 

生成上面的两个脚本后,首先运行第二步中删除系统自动生成外键的脚本,将系统中命名不规范的外键删除,然后运行第三步中生成的创建外键的脚本,重新创建这些删除的外键,也就实现了对不规范外键的更名。

 

五、系统检查

 

操作完成后,重新执行步骤1,再生成一个应用系统的外键报告单,作对比检查。假如正确无误,则更名成功。

共2页: 上一页 [1] [2] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐