请选择 进入手机版 | 继续访问电脑版

大道数据社区

 找回密码
 立即注册
查看: 81|回复: 2

Oracle Constraint

[复制链接]

1

主题

2

帖子

24

积分

新手上路

发表于 2020-2-6 01:45:23 | 显示全部楼层 |阅读模式
一般话题
副标题: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请教,我的一个数据库里有很多表,几乎每个表都有外键连接。做数据导入前很多表的外键约束都关掉了,现在我想把所有表的外键连接都激活,有什么简单的方法吗?
谢谢!

回复

使用道具 举报

3

主题

17

帖子

77

积分

PowerBITraining

发表于 昨天 04:30 | 显示全部楼层
下面的语句产生 ALTER 语句,你可以使用一个循环语句来运行:

  1. Select 'ALTER TABLE ' || c.Table_Name || ' MODIFY CONSTRAINT ' || c.constraint_name || ' ENABLE;' as Statement
  2. from ALL_CONSTRAINTS C
  3. where owner = 'schema name '
  4.     and Table_Name LIKE %'Table Name%'
  5.     and CONSTRAINT_TYPE = 'R'
  6. Order by
  7.     TABLE_NAME;
复制代码


运行结果是这样:

  1. ALTER TABLE table name MODIFY CONSTRAINT constraint name ENABLE;
  2. ...........
复制代码


你还可以修改 'ENABLE' to 'DISABLE' 以执行相反的功能。
基本上就是扫描 ALL_CONSTRAINTS 表。

回复

使用道具 举报

1

主题

2

帖子

24

积分

新手上路

 楼主| 发表于 昨天 22:48 | 显示全部楼层
micror 发表于 2020-2-21 04:30
下面的语句产生 ALTER 语句,你可以使用一个循环语句来运行:

好好,谢谢大佬!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|大道数据社区

GMT+8, 2020-2-22 13:50 , Processed in 0.098809 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表