Welcome 微信登录

首页 / 数据库 / MySQL / 用于将Oracle外键屏蔽的SQL

在JUnit时,一般不需要考虑外键。但目前数据库生成过程中已经将外键建好,这样在增删改数据时,比较麻烦。按以下方法执行,可以根据自己的需要使外键失效或者生效。
 
先执行以下SQL
 
SELECT "ALTER TABLE " || TABLE_NAME ||" "||
"disable CONSTRAINT " || CONSTRAINT_NAME || " ;"
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_NAME LIKE "SYS%" AND
CONSTRAINT_TYPE = "R";
 
会生成若干条类似于以下的SQL语句
ALTER TABLE ACCOUNT_PORTFOLIO disable CONSTRAINT SYS_C001219591 ;
 
把生成的语句都拷贝到文本编辑器中,如果没有问题,直接拷贝到SQL plus中执行,就可以屏蔽所有的外键。
 
另外,如果执行的以下SQL
SELECT "ALTER TABLE " || TABLE_NAME ||" "||
"enable CONSTRAINT " || CONSTRAINT_NAME || " ;"
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_NAME LIKE "SYS%" AND
CONSTRAINT_TYPE = "R";
 
然后将生成的SQL语句执行,可以使外键生效。Linux下MySQL保存进去数据为乱码的解决办法Oracle在job中调用带有参数的存储过程相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数