PL/SQL数据库一个表中一个字段设为外键引用另一个表中的主键字段,用语句怎么写

加我朋友的QQ:815479501,以后细聊,经常一起学习!... 加我朋友的QQ:815479501,以后细聊,经常一起学习! 展开
 我来答
画新子F
2011-11-01 · TA获得超过1189个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:410万
展开全部
这里,我跟你写个例子,你看看吧。
创建一个班级表:
CREATE TABLE ban_ji( id integer , ban_ji varchar(25));

INSERT INTO ban_ji VALUES(1,'1-(1)');

INSERT INTO ban_ji VALUES(2,'1-(2)');

----------------------------------------------

insert into xue_sheng values(5,'dd',0,50,3);

现在在学生表插入数据,如果不对应 班级表的id也是可以插入的,不过这是没有意义的记录

ALTER TABLE xue_sheng ADD CONSTRAINT fk_xue_sheng FOREIGN KEY(b_id) REFERENCES ban_ji(id);
ERROR at line 1:
ORA-02270: no matching unique or primary key for this column-list

错误提示要 班级表的id必须是主键或者具有唯一值
SQL> ALTER TABLE ban_ji ADD CONSTRAINT pk_ban_ji PRIMARY KEY( id );

SQL> ALTER TABLE xue_sheng ADD CONSTRAINT fk_xue_sheng FOREIGN KEY(b_id) REFERENCES ban_ji(id);
一旦创建了这个外键, 就不能在学生表随意插入数据,要参照班级表的id 。
insert into xue_sheng values(5,'dd',0,50,3);

还有班级表的id 也不能随便修改或者删除, 因为如果修改了,学生表就没有数据参照了。
wangzhiqing999
2011-11-02 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3340万
展开全部
参考资料 为 Oracle 外键约束 的创建的例子

参考资料: http://hi.baidu.com/wangzhiqing999/blog/item/6a79e3f4e10911bda40f52e8.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式