sql中如何实现级联表的操作 5

 我来答
吹爆涵可爱84
2012-02-25 · TA获得超过5719个赞
知道大有可为答主
回答量:3505
采纳率:71%
帮助的人:1182万
展开全部
首先建议尽量避免使用自动级联操作,尤其是更新。这在以后开发中会出很多问题的。
两种方法:
1.把两个表需要关联的字段,设置主外键关联,然后设置它们级联更新和删除就行了;
2.就是给一个表建立触发器,当插入或更新的时候,自动更新另一个表。
试试吧!GOOD LUCK!
w55353215
2012-02-25
知道答主
回答量:33
采纳率:0%
帮助的人:23.9万
展开全部
给一个表建立触发器,当插入或更新的时候,自动更新另一个表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邦德和他的007
推荐于2018-04-27 · 超过30用户采纳过TA的回答
知道答主
回答量:98
采纳率:29%
帮助的人:21.9万
展开全部
我的笔记:
1.自然联结
Natural Join、Using和On关键字创建的联结都叫自然联结。
使用Natural Join联结时,前提条件是源表和目标表有相同名称且数据类型一致的列,这种联结叫纯自然联结。
当源表和目标表,存在多个相同名称的列时,我们仅希望使用其中某一个或几个,并非使用全部相同列进行联结时,使用Using进行限制。Natural和Using是互斥的存在。
当源表和目标表,并不存在名称相同的列,但列的实际数据有等值或者不等值关系时,使用On显式的进行关系陈述。这种形式,也是最通用,最节省性能的方式。
on 举例:
select
e.employee_id,
e.department_id,
d.department_name,
d.location_id,
l.city
from employees e
join departments d
on(e.department_id=d.department_id)
join locations l
on(d.location_id=l.location_id);
老版本 举例:
select
department_id,
departments.location_id,
city
from departments,locations
where departments.LOCATION_ID = locations.LOCATION_ID;
2.自联结
select
worker.last_name,
worker.manager_id,
manager.last_name,
manager.employee_id
from employees worker
join employees manager
on(worker.manager_id = manager.employee_id);
3.非等值联结(外联结)
内联结:
数据可以进行一一匹配的(以上都是内联结)
外联结:
除了一一匹配的,还可以把不匹配的展示出来
左外联结 已左边表为主,右边表不匹配的补null
left outer join
右外联结 已右边表为主,左边表不匹配的补null
right out join
全外联结 以两边表为主,两边表不匹配的都补null
full out join
举例:
--左外联结
select
e.last_name,
e.department_id,
d.department_name
from employees e
left outer join departments d
on(e.department_id = d.department_id);
--右外联结
select
e.last_name,
d.department_id,
d.department_name
from employees e
right outer join departments d
on(e.department_id = d.department_id);
--全外联结
select
e.last_name,
d.department_id,
d.department_name
from employees e
full outer join departments d
on(e.department_id = d.department_id);
--左外 传统写法
select
last_name,
e.department_id,
d.department_name
from employees e,departments d
where e.DEPARTMENT_ID = d.DEPARTMENT_ID(+);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式