数据库的更新(在线等待)

yyouyou 2005-09-15 06:04:19
现有两张表A,B,字段如下
A:b_id(fk) a_id(pk)
B: b_id(pk) s_id type

现在想将更新A表中的b_id和B表中b_id内容。
更新规则是:将B表中类型(type)为 C 的s_id字段的内容赋值给B表中的b_id,并且A表中相应的b_id也需要更改。
更新后的错误不用考虑,其实b_id是是s_id的子串。

各位高手帮帮忙,我已经晕了:(
...全文
179 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyouyou 2005-09-15
  • 打赏
  • 举报
回复
不好意思,A表的更新结果最后一项写错了应该是
A:b_id(fk) a_id(pk)
55555 ggggg
yyouyou 2005-09-15
  • 打赏
  • 举报
回复
回:zlp321002
假设,更新前
A:b_id(fk) a_id(pk)
11 aaaaa
22 bbbbb
33 ccccc
44 ddddd
55 eeeee
11 fffff
55 ggggg


B: b_id(pk) s_id type
11 111111 a
22 222222 b
33 333333 c
44 444444 d
55 555555 a
66 666666 b
77 777777 c
88 888888 d
现在需要对B表中type为a进行更新,则最终更新结果为
A:b_id(fk) a_id(pk)
11111 aaaaa
22 bbbbb
33 ccccc
44 ddddd
55555 eeeee
11111 fffff
55 ggggg


B: b_id(pk) s_id type
11111 111111 a
22 222222 b
33 333333 c
44 444444 d
55555 555555 a
66 666666 b
77 777777 c
88 888888 d
你先更新了B表,那A表中的b_id无法在B表中找到相同的b_id,那么A表将不能更新。并且你的更新
语句没有两表关联,我想应该还是同 wgsasd311(自强不息) 和 ReViSion(和尚) 那样进行
“and A.b_id=B.b_id”
zlp321002 2005-09-15
  • 打赏
  • 举报
回复
--回:zlp321002 如果先更新了B,那对应的A就找不到了啊,
更新B的时候,我没有操作A表

--就是s_id的内容只需要前面5个字符串赋值给b_id,并不是全部内容,
Update B Set b_id=substring(s_id,1,5) from B where type='C'

update A set b_id=sustring(B.s_id,1,5) from B where B.type='C'
yyouyou 2005-09-15
  • 打赏
  • 举报
回复
不好意思,还忘了一点条件,就是s_id的内容只需要前面5个字符串赋值给b_id,并不是全部内容,等会我在加50分
yyouyou 2005-09-15
  • 打赏
  • 举报
回复
回:zlp321002 如果先更新了B,那对应的A就找不到了啊,
yyouyou 2005-09-15
  • 打赏
  • 举报
回复
可以一条语句就解决吗?vivianfdlpw() 的方法倒是不错
ReViSion 2005-09-15
  • 打赏
  • 举报
回复
update A set b_id=B.s_id from A, B where B.type='C' and A.bid=B.bid
Update B Set b_id=s_id from B where type='C'
wgsasd311 2005-09-15
  • 打赏
  • 举报
回复
--更新 Try
update A set b_id=B.s_id from A, B where B.type='C' and A.bid=B.bid
Update B Set b_id=s_id from B where type='C'
vivianfdlpw 2005-09-15
  • 打赏
  • 举报
回复
A中b_id设置级联更新
然后Update B Set b_id=s_id from B where type='C'
zlp321002 2005-09-15
  • 打赏
  • 举报
回复
--更新 Try
Update B Set b_id=s_id from B where type='C'

update A set b_id=B.s_id from B where B.type='C'

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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