Refresh-air

清风明月本无价 近水远山皆有情
记载自己在码砖过程中遇到的点点滴滴.......

 

Sql Update

      今天被一个问题给弄蒙了,事情是这样的,一个表A里的数据在以后某个环节下需要将某些数据插入到新的一个表B中,但是需要将插入B中的标识记录到表A里,如果是在程序里一条一条的做那么是没问题的,现在是有一个自动导入程序自动运行导入,那么在将A表中的数据根据某些条件导入到B表中后,如果将插入B中的标识记录到A表里呢?随即脱口而出:不可能!除非用游标实现,回来想想觉得自己太过草率了,(Nothing is impossible!),以前貌似也是这么用过的,时间长了记不得了,下面将自己测试的例子记录一下,以便查阅。

创建表
create table A
(
id int identity(1,1) primary key,
[Name] varchar(20)
)
create table B
(
id int identity(1,1) primary key,
Aid int,
[Name] varchar(20)
)
--方法一 
update B set Aid= (select id from A where A.Name=B.Name)
--方法二
update B set Aid=A.id from A,B  where A.Name=B.Name
update B set B.Aid=A.id  from  B inner join A       
on  B.Name   =   A.Name  
---------------------------------over  2009-09-10----------------------------------------------------

posted on 2009-09-10 21:56  笑清风  阅读(337)  评论(0编辑  收藏  举报

导航