sql 数据同步问题

jycnet 2006-03-03 09:13:19


各位好!

表一: aaa

列 bbb

jd0001

jd0002

jd0003

jd0004

jd0005

表二: ccc

列 ddd

jd0002jd003

jd0004jd0001jd0005

jd0001jd0003jd0004

jd0002jd0005


说明: 表ccc列ddd 中的数据是由用户选择表aaa列bbb 中的数据循环累加后写入的

问题:当表aaa列bbb中的某一值被删除(如jd0005) ccc表列ddd中的数据同步变化

如:

表二: ccc

列 ddd

jd0002jd003

jd0004jd0001

jd0001jd0003jd0004

jd0002

我用的是笨办法:
SELECT bbb
FROM aaa a CROSS JOIN
ccc b
WHERE (CHARINDEX(a.bbb, b.ddd) > 0)

得到结果后依次与ddd比较,再用replace替换ddd中数据

那位朋友知道有什么快捷简单的办法解决这个问题?

是否要写触发器?
...全文
108 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jycnet 2006-03-03
  • 打赏
  • 举报
回复
如果不用触发器,还有什么好办法?
jycnet 2006-03-03
  • 打赏
  • 举报
回复
追加一个问题:

表二: ccc

列 ddd

jd0002jd003

jd0004jd0001jd0005

jd0001jd0003jd0004

jd0002jd0005


表三: eee

列 fff

jd0002

jd0004jd0001jd0005

jd0001jd0003

jd0001

如果表二ccc 列ddd 中的jd0001 通过上面的触发器删除了,如何让如果表三eee 列fff

的 jd0001也没有了

如:

表三: eee

列 fff

jd0002

jd0004jd0005

jd0003

NULL

再加50分,大家帮帮忙,多谢多谢
$扫地僧$ 2006-03-03
  • 打赏
  • 举报
回复
create table aaa
(
bbb varchar(10)
)

insert aaa select 'jd0001'
insert aaa select 'jd0002'
insert aaa select 'jd0003'
insert aaa select 'jd0004'
insert aaa select 'jd0005'

create table ccc
(
ddd varchar(100)
)


insert ccc select 'jd0002jd003'
insert ccc select 'jd0004jd0001jd0005'
insert ccc select 'jd0001jd0003jd0004'
insert ccc select 'jd0002jd0005'


CREATE TRIGGER TEMP_SC on aaa
AFTER delete
as
Declare T_c cursor for Select bbb from deleted
Declare @bbb varchar(10)
open T_c
fetch next from T_c into @bbb
while @@FETCH_STATUS=0
begin
update ccc set ddd=REPLACE(C.ddd,@bbb,'') from ccc C where charindex(@bbb,C.ddd)>0
fetch next from T_c into @bbb
end
close T_c
deallocate T_c

delete from aaa where bbb in ('jd0005','jd0004')
li_d_s 2006-03-03
  • 打赏
  • 举报
回复
用触发器轻松解决,但是如果触发器太多了会影响性能
wgsasd311 2006-03-03
  • 打赏
  • 举报
回复
create trigger td_t2 on aaa
for delete
as
update ccc set ddd=replace(ddd,bbb,'')
from ccc a,deleted b where charindex(bbb,ddd)>0
go
尚和空四 2006-03-03
  • 打赏
  • 举报
回复
要写触发器的

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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