Constraint 和 Table 的关系

bubble1000 2008-04-29 10:43:45
向各位高手问个问题,DB2的Constraint 和 Table 是什么关系呢,是不是Constraint是依附在表上面的,我Drop表的时候它会直接Drop Constraint(我做测试是这样的,我建的是foreign key,我的db2版本是:
DB21085I Instance "DB2" uses "32" bits and DB2 code release "SQL08010" with
level identifier "01010106".
Informational tokens are "DB2 v8.1.0.36", "s021023", "", and FixPak "0".
Product is installed at "C:\PROGRA~1\IBM\SQLLIB".
),听其他人说在Drop 表的时候时候因为还跟子表有关系的原因应该会报错,不知道我Drop的时候为什么没有报错呀。是不是跟版本有关系。
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
bubble1000 2008-04-29
  • 打赏
  • 举报
回复
上面一步完了后我直接:
drop table contest2;

按理说是直接drop了父表,那么子表contest1不是跟它有外键约束吗?怎么不报错呢,我查看drop contest2 contest1 的建表语句发现没有外键约束了,删除这个foreign key是数据库自己操作的吗?是不是有什么参数控制,我的意思是我现在的测试数据库不会报错,会自动把子表的外键约束删除,其它数据库中会是这样吗?
bubble1000 2008-04-29
  • 打赏
  • 举报
回复
我觉得我应该再清楚的阐述一下,就是这样的关系:

CREATE TABLE A3WASIN1.CONTEST1
(TEST_ID SMALLINT NOT NULL
);
Insert into CONTEST1(test_id) values(1);
Insert into CONTEST1(test_id) values(2);
Create table CONTEST2 like contest1;
Insert into CONTEST2(test_id) values(1);
Insert into CONTEST2(test_id) values(2);
Alter table contest2 add constraint test_id_pri primary key(test_id);
Alter table contest1
Add constraint IF_TEST foreign key
(
test_id
) references contest2(test_id);

5,888

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧