注册 登录
编程论坛 SQL Server论坛

更新table的问题

aklbryan 发布于 2011-11-28 16:45, 635 次点击
初次来论坛,有一个问题请教达人。

我是SQL初学者,有如下问题:

有一个table A, 里面有若干列(a1,a2,a3,a4,timestamp),a1是primary key

一个table B, 里面有若干列(a1,b2,b3,b4),此处a1和a.a1对应。b2对应a2,b3对应a3,b4对应a4

如何写语句实现更新了table A之后可以把更新也写入到table B中?此更新仅对有改动的记录。

如已存在的数据没改动则不做更新。

用一般SQL语句能达成还是用SP来写?此脚本不需要用trigger,即手动运行就可以。

谢谢!
4 回复
#2
aklbryan2011-11-28 20:55
我最主要的是不知道如何来比较两个table,用update语句来做的话是不是要写三次?!
#3
png2011-11-28 22:52
需要指出的是表A,B的结构/功能要求违反相关数据库设计的关于更新异常的要求 - 相当于将房子建在沙滩上。
#4
aklbryan2011-11-29 00:03
表a是数据库的一个主要表,保存了很多数据,有十几个column

表b是一个临时建立的表用来储存某些表a中的信息,只有几个column,它不是临时表,同时也不会和数据库里任何一个表有联系,仅仅是ID 和表A的ID相等而已。

我只是大概描述一下表a,b的结构。

应该不可用外键做,需要用stored procedure来做吧?!

请问大概的思路是什么呢?我接触SQL编程不久,过去也没编程的基础,望大家指导一下。谢谢
#5
png2011-11-30 02:58
不是故意跟你过不去。如果话说得有些过,先给你道个歉。

前几天斑主推荐了本书 - SQL查询凡人入门。该书有段话说出了我一直想说的话,现贴给你参考。
只有本站会员才能查看附件,请 登录


将这段话引申 - 无论“...接触SQL编程久不久, 还是有没有编程的基础...”只要能在纸上画出表A,B的结构,并能手动添入合理的数据,就应当清楚你想要的结果和逻辑思路。

回答为什么要作同回答怎么作一样要紧。另外关于“更新异常”推荐你看一下。

1